本地分支跟踪错误,拉取同分支时无法获取同事Git变更怎么办?
解决本地分支跟踪错误导致无法拉取远程变更的问题
你的推测完全准确——本地的new-branch确实还在跟踪origin/Development,所以执行git pull时,Git会默认从origin/Development拉取代码,自然拿不到同事推送到远程new-branch的修改。下面是两种在保留本地分支的前提下获取同事变更的方法:
方法一:修改本地分支的远程跟踪目标(推荐)
这是一劳永逸的办法,以后再执行git pull就会自动从远程new-branch拉取:
- 先确认当前的跟踪状态(可选但建议做):
这个命令会列出所有本地分支,以及它们对应的远程跟踪分支。你会看到git branch -vvnew-branch旁边标注的是origin/Development。 - 修改本地分支的上游跟踪分支:
执行完这个命令后,本地git branch -u origin/new-branchnew-branch就会跟踪远程的origin/new-branch了。 - 现在直接拉取同事的变更:
git pull
方法二:临时指定拉取的远程分支(无需修改跟踪关系)
如果暂时不想变更跟踪关系,也可以在git pull时明确指定要拉取的远程分支:
git pull origin new-branch
这个命令会直接把远程origin/new-branch的代码合并到你本地的new-branch,但每次拉取都需要手动指定分支。
注意事项
如果你的本地分支有未提交的修改,执行git pull前建议先暂存这些修改,避免冲突:
git stash # 暂存本地修改 git pull # 拉取远程变更 git stash pop # 恢复暂存的修改
如果恢复时出现冲突,按照Git的提示解决冲突即可。
内容的提问来源于stack exchange,提问作者Jack Doyle
相关产品推荐
相关产品推荐

