多开发者协作同一Git分支:本地提交后远程更新的处理方案
处理协作分支的推送与拉取(SourceTree版)
嘿,刚接触Git和SourceTree的话,这种多人协作同一分支的场景确实容易懵,我给你拆解下具体操作,保证一步步能搞定:
第一步:确保你在正确的本地分支
打开SourceTree,先确认左侧分支列表里,你的feature/release1.0分支是当前选中的活跃分支(旁边会有小对勾或高亮标识),如果不是,右键点击这个分支选择「Checkout」切换过去。
第二步:拉取远程的最新变更(也就是B推送的代码)
这一步是核心——远程分支已经有B的新提交了,直接推自己的代码肯定会冲突。在SourceTree顶部工具栏找到「Pull」按钮:
- 点击「Pull」后,弹出的窗口里确认「Remote」是你们共用的远程仓库(比如origin),「Branch」选
feature/release1.0,然后点击「OK」。 - 如果你的本地提交和B的提交没有冲突,SourceTree会自动把远程变更合并到本地分支,这就搞定了一半!
- 如果出现冲突(比如你们改了同一个文件的同一段代码),SourceTree会提示你解决冲突:它会列出冲突文件,双击文件进入编辑器,找到标记为
<<<<<<< HEAD(你的代码)、=======(B的代码)、>>>>>>> [B的提交哈希]的部分,手动调整代码后保存,回到SourceTree点击「Mark Resolved」标记冲突已解决,再完成合并。
第三步:推送你的本地变更到远程
等合并完成,本地分支就包含了你和B的所有变更,这时就能安全推送了:
- 点击SourceTree顶部的「Push」按钮,在弹出窗口确认远程仓库和分支都是
feature/release1.0,点击「OK」就完成推送啦!
(可选)对应Git命令行操作
如果你想了解底层逻辑,SourceTree其实是帮你执行了这些命令:
- 切换分支:
git checkout feature/release1.0 - 拉取远程变更:
git pull origin feature/release1.0 - 冲突解决后标记已解决:
git add [冲突文件名] - 推送代码:
git push origin feature/release1.0
最后提个小建议:以后每次准备推送自己的代码前,最好先拉取一遍远程最新变更,能避免很多不必要的冲突哦!
内容的提问来源于stack exchange,提问作者Akshay Barge
相关产品推荐
相关产品推荐

