参考了
Git fork分支后与原仓库保持同步blog.csdn.net这是我实际遇到的一个问题。就是我和另一个合作者都fork了同一个项目。现在他做出了很多改动,然后我也做了很多改动。然后我想把他的代码拿来跑一下,或者存储成我的branch,但是改动太多没法通过在线操作。(在线操作通过在自己fork的仓库里点击pull request得到)
方法1
下面直接说方法。首先从随便一个branch开始新建一个branch
git branch delete-later
git checkout delete-later
然后首先添加别人的仓库地址为,一个随便的名称,比如我这里叫Fan.
git remote add Fan [别人的仓库地址]
git remote -v
git branch -a
这时候就能看到别人的branch了。随便挑选一个branch
这里我想要remotes/Fan/new_temp 这个branch
git reset --hard remotes/Fan/new_temp
然后把这个分支push到远程,命名为remote-delete-after
git push origin delete-later:remote-delete-later
方法2
下面直接说方法。首先从随便一个branch开始新建一个branch
git branch delete-later
git checkout delete-later
然后首先添加别人的仓库地址为,一个随便的名称,比如我这里叫Fan.
git remote add Fan [别人的仓库地址]
git remote -v
git branch -a
这时候就能看到别人的branch了。随便挑选一个branch来merge。
这里我想要remotes/Fan/new_temp 这个branch
git merge remotes/Fan/new_temp
这个时候出现很多conflict。首先要查看哪些files有conflicts
git status
打开Visual Studio Code可以方便的merge conflicts。
每一处conflict上有变化。current change是别人的代码。可以选择View->Command Palette来accept all current。
这种方法好处是可以在对比别人代码和自己的区别,然后修改。如果不需要修改的时候就用第一种就好。