Github进行Fork后与源仓库保持同步

每次fork代码后进行团队协作时就会遇到代码不同步的问题,这篇文章就记录一下fork后代码同步的详细过程

Step.1:在Github上fork项目

这一步就不用解释了,在原项目上点击 fork 就行

Step.2:拉取fork的项目到本地

注意:这里拉取的是 自己Github 上的fork的项目,而不是源项目。

Step.3:进入本地仓库所在目录

这里我用的是Git bash,直接进入本地仓库

Step.4:执行git remote -v 查看远程仓库路径

在这里插入图片描述
如果上面只有两行,那就说明没有设置upstream。这两行是自己的远程仓库的地址,所以要设置源项目远程仓库的地址。

Step.5:设置源项目远程仓库地址

执行命令git remote add upstream https://github.com/pkussoj/OnlineJudge_BasedOnQDU.git
这个命令时添加源项目(也就是你fork的项目)的远程仓库地址,执行后没有返回信息。
然后,再执行git remote -v查看是否成功:
Github进行Fork后与源仓库保持同步_第1张图片

Step.6:执行git status检查本地是否有未提交的修改

如果有,则把你本地的有效修改,先从本地仓库推送到你的github仓库。

提交修改的过程如下:

  • git add filename或者git add .
  • git commit -m "your note"
  • git push origin master

最后再执行一次 git status 检查本地已无未提交的修改。

注意:这一步是为了避免大量无效修改或文本冲突带来的更复杂局面。建议执行。

Step.7:执行命令 git fetch upstream拉取更新

从源代码仓库拉取最新代码
我这里是已经拉取过最新的代码,所以没有返回信息
在这里插入图片描述

Step.8:切换分支git checkout master

正常情况下分支应该就是master,如果是,则可以跳过这一步。
也可以切换到任意分支,拉取你想要分支的代码。
Github进行Fork后与源仓库保持同步_第2张图片

Step.9:合并远程分支git merge upstream/master

合并远程分支代码到本地仓库,执行完该命令后,可以看到本地仓库的代码已发生修改。

Step.10:执行git push推送本地代码到远程仓库(自己的)


后记:

上面步骤就是完整步骤,执行完后就可以得到更新后的代码仓库。

其实,Step.7,Step.8,Step.9 可以合并为一个步骤:

git pull upstream master

这里的git pull命令时将远程仓库代码拉取到指定分支,这里也就是将源仓库代码直接拉取到本地master分支。

最后再执行git push推送到自己的远程仓库

相关命令的解释可以参考:https://blog.csdn.net/weixin_43207025/article/details/105460595


参考资料:

https://github.com/selfteaching/the-craft-of-selfteaching/issues/67

你可能感兴趣的:(GitHub)