切换至分支B后执行git pull origin A会将A的变更合并到B吗
Git 命令执行结果解答
直接结论
你执行的git pull origin A会将远程origin仓库中A分支的变更合并到当前所在的本地B分支中,不会更新本地的A分支。
原理说明
git pull本质是git fetch + git merge两个操作的组合,你指定的git pull origin A执行逻辑如下:
- 第一步先执行
git fetch origin A:拉取远程origin上A分支的最新提交,仅更新本地的远程追踪分支origin/A(这不是你本地的独立A分支,只是记录远程分支状态的缓存分支) - 第二步自动执行
git merge origin/A:将刚刚拉取到的origin/A的变更合并到你当前处于激活状态的本地分支,也就是你提前切换到的B分支
补充操作参考
如果你只想要同步远程A的变更到本地A分支,有两种常用方式:
- 先切换到本地A分支,再执行
git pull origin A - 无需切换分支,直接执行
git fetch origin A:A,即可直接将远程A的更新同步到本地A分支
注意事项
如果你误执行了将远程A合并到本地B的操作,还没有提交合并结果的话,可以执行git merge --abort撤销本次合并,回到执行pull之前的分支状态。
内容的提问来源于stack exchange,提问作者Talles Brito
相关产品推荐
相关产品推荐

