You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在Visual Studio 2017中使用Git,本地分支开发后推送前的操作咨询

嘿,我来一步步帮你理清这个多人协作下的Git操作流程,毕竟远程分支有更新时,很容易搞混步骤~

第一步:先同步本地master到远程最新状态

这一步是必须的!因为其他开发者已经往远程master提交了新代码,你得先让本地master跟上节奏,避免后续合并时出现不必要的冲突。

  • 在Visual Studio 2017里操作:
    • 打开团队资源管理器,切换到「分支」面板,选中master分支点击「切换」;
    • 转到「同步」面板,点击「拉取」按钮,等待VS把远程master的最新代码同步到本地master。
  • 如果你习惯用命令行,对应的指令是:
    git checkout master
    git pull origin master
    
第二步:将本地开发分支的改动合并到本地master

这里有两种常用方案,选哪种取决于你的团队习惯和提交历史的偏好:

方案1:合并(Merge)—— 保留完整提交轨迹

这种方式会保留你开发分支的所有提交记录,同时生成一个合并提交,适合需要完整追溯历史的场景。

  • VS2017操作:
    可以选两种路径:
    • 切换回你的本地开发分支,右键点击master分支,选择「合并到当前分支」;
    • 或者切换到master分支,右键点击你的开发分支,选择「合并到当前分支」。
      如果出现冲突,VS会弹出冲突解决界面,你只需要逐个文件解决冲突,然后提交合并结果即可。
  • 命令行指令:
    # 方式A:在开发分支上合并master
    git checkout your-dev-branch
    git merge master
    # 解决冲突后提交合并
    git add .
    git commit -m "Merge remote latest master into dev branch"
    
    # 方式B:在master上合并开发分支
    git checkout master
    git merge your-dev-branch
    

方案2:变基(Rebase)—— 让提交历史更整洁

变基会把你开发分支的所有提交,“移动”到最新的master提交之后,看起来就像你是在最新代码基础上从头开发的,提交线会更干净。注意:如果你的开发分支已经推送到远程过,不建议用变基,会改写公共提交历史;如果是本地私有分支,完全可以用。

  • VS2017操作:
    切换到你的开发分支,在团队资源管理器的「分支」面板右键点击该分支,选择「变基」,然后选择master作为基准分支,确认后如果有冲突就解决冲突,完成变基。
  • 命令行指令:
    git checkout your-dev-branch
    git rebase master
    # 解决冲突后继续变基
    git rebase --continue
    # 如果中途想放弃变基,执行git rebase --abort
    
第三步:推送到远程master

等你把本地master更新完成(不管是合并还是变基,确保没有冲突),就可以把本地master推送到远程了:

  • VS2017操作:切换到master分支,转到「同步」面板点击「推送」按钮即可。
  • 命令行指令:
    git checkout master
    git push origin master
    
关于“先推本地分支到远程再pull”的说法

这个流程一般是需要团队代码评审的场景才用:比如你先把本地开发分支推到远程创建对应的远程分支,然后发起Pull Request(或Merge Request),等团队审核通过后,再把远程开发分支合并到远程master,之后你再拉取最新的远程master到本地。如果是你有权限直接合并到master,或者团队不需要评审,那前面的步骤就完全够用了。

内容的提问来源于stack exchange,提问作者DaveB

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.25 04:19:40