如何同步上游仓库master分支的新提交至个人Fork仓库?
如何同步上游仓库的master分支到你的Fork
嘿,我刚入门开源贡献时也碰到过一模一样的情况,完全懂你担心冲突的心情!其实同步上游更新是个很常规的操作,跟着下面的步骤来就行:
第一步:添加上游仓库的远程地址
首先得让本地Git知道你fork的原仓库(也就是上游仓库)在哪里。打开终端,进入你本地克隆的fork仓库目录,然后运行:
git remote add upstream https://github.com/原组织名/原仓库名.git
注:把上面的URL换成你fork的那个组织仓库的实际地址,不是你自己GitHub账户下的仓库地址哦。
你可以用git remote -v命令确认一下,现在应该能看到origin(你的fork)和upstream(原仓库)两个远程地址了。
第二步:拉取上游仓库的最新更新
接下来把上游master分支的最新提交拉到本地:
git fetch upstream
这个命令只会把上游的更新下载到本地,不会自动合并到你的分支,很安全。
第三步:切换到你自己的master分支
确保你现在在自己fork的master分支上:
git checkout master
第四步:合并上游的master到你的master
现在把上游的最新更新合并到你本地的master分支:
git merge upstream/master
如果你的master分支没有和上游冲突的本地修改,Git会自动完成“快进合并”,直接同步成功。如果出现冲突的话,Git会提示你哪些文件有冲突,你只需要打开这些文件,手动解决冲突(删除Git标记的冲突代码块,保留正确的内容),然后提交:
git add . git commit -m "Merge upstream/master into local master"
最后:推送到你自己的fork仓库
合并完成后,把本地更新同步到GitHub上你的fork仓库:
git push origin master
这样你的fork的master分支就和上游仓库的master完全同步啦,之后再做开发就不用担心冲突问题了!
内容的提问来源于stack exchange,提问作者Raj
相关产品推荐
相关产品推荐

