git协作开发

张开发
2026/4/10 10:16:41 15 分钟阅读

分享文章

git协作开发
文章目录1. 账号独立2.提交自己写的代码3.合并好代码之后4.若在分支合并时出现了冲突5.常用git命令6.git相关知识git merge和git rebasegit mergegit rebase总结Git和SVN的区别Git工作区的三大区域git add / commit / push 区别什么是分支为什么要用分支git pull 和git fetch的区别git stashgit reset 和 git revertgit resetgit revert7.注意1. 账号独立你用自己的 Git 账号SSH key 或 HTTPS推送提交。队友用他自己的账号推送提交。两个账号互不干扰只要远程仓库权限允许都可以操作。2.提交自己写的代码首先确保自己在分支上git branch若没有分支git checkout main git pull origin main git checkout -b feature/xxx然后在终端进行提交例如git add . git commit -m 继续完善网络层 git push origin feature/netWork然后在我们的git仓库里进行查看进行分支的合并merge若git上没自动弹出分支合并的提示我们可以在git仓库里的Pull requests里点New pull requestbase:maincompare是想进行合并的分支然后进行合并的创建3.合并好代码之后合并完之后我们就可以切回自己的本地进行拉取然后在之前的分支或者新建分支写了# 1. 切到主支 git checkout main # 2. 拉最新 git pull origin main # 3. 回到你的分支 git checkout feature/netWork # 4. 把 main 合并进来 git merge main新建分支的写法git checkout -b feature/xxx4.若在分支合并时出现了冲突这里出现冲突我们不要慌首先尽量不要在git上直接进行代码合并我们在本地改更加安全先切到主支并拉最新的代码git checkout main git pull origin main然后切到我们的开发的分支并把最新的main合并到分支git checkout feature/xxx git merge main一般git上有冲突这里也有然后我们就git status查看有哪些文件冲突然后在我们本地去进行修改最后在进行提交git add . git commit -m 解决 main 合并到 feature/xxx 时的冲突 git push origin feature/xxx冲突解决完成后最好重新运行项目确认功能正常再推送。5.常用git命令查看分支git branch查看远程分支git branch -r查看所有分支git branch -a切换分支git checkout 分支名或git switch 分支名删除本地分支git branch -d feature/xxx删除远程分支git push origin --delete feature/xxx查看提交记录git log --oneline --graph --all能看分支合并历史如果发生事故也可以从log里进行代码找回临时保存当前改动有时候你代码写一半但要切分支git stash切回来之后在恢复git stash pop6.git相关知识git merge和git rebase一句话 merge 保留历史rebase 改写历史团队协作中优先使用 merge 保证历史安全rebase 仅用于本地整理提交记录。git merge是分叉结构在进行使用时如git checkout feature git merge main会产生一个合并节点在历史上是先分叉再合并的结构优点保留真实开发历史安全不会改历史团队协作最常用缺点提交记录变复杂有很多的merge commitgit rebase是线性结构如git checkout feature git rebase main会把我们的提交挪到main的最新的后面历史会像一条线一样顺下去优点提交记录非常干净像一条直线更适合整理提交缺点会改写历史如果已经 push被别人拉过会容易炸总结所以团队协作都用mergerebase一般只用于在本地提交不能对已经push的公共分支做rebase例如git rebase main git push --force会把别人的历史冲掉Git和SVN的区别Git 是分布式版本控制SVN 是集中式版本控制Git 每个人都有完整仓库SVN 必须连服务器优势Git 更快Git 支持离线Git 分支更轻量Git工作区的三大区域工作区Working Directory暂存区Index / Stage版本库Repository我们协作流程修改 -git add - git commitgit add / commit / push 区别git add放入暂存区git commit生成版本记录git push推到远程仓库什么是分支分支是指向某个 commit 的指针用来实现多版本开发。为什么要用分支并行开发避免影响主分支方便功能隔离git pull 和git fetch的区别git fetch只拉代码不合并git pull fetch mergegit stash临时保存当前未提交修改让工作区干净git reset 和 git revertgit reset本质是指针回移会修改历史只适用于本地还没push的情况回退版本会改历史危险三种模式模式作用–soft回退 commit但保留代码还在暂存区–mixed默认回退 commit 取消 add–hard彻底删除代码不可恢复git revert新建一个“反向提交”不改历史安全git revert 会生成一个新的提交用来抵消某个历史提交的修改而不会改变已有提交历史例如假设历史是A - B - C然后我们执行git revert CGit 会做一件事 计算 C 做了哪些改动然后生成一个反向操作比如C 加了一行代码 - revert 会删掉这行C 删了一行代码 - revert 会加回来7.注意在和对友尽量不要改改相同文件的代码以避免发生太多冲突避免长期不同步main尽量每天进行一次合并冲突解决完成后最好重新运行项目确认功能正常再推送。因为很多时候冲突虽然解决了但代码逻辑可能被破坏

更多文章