与原作者同步 Fork 代码仓库

今天遇到了一个问题,前几天在远程仓库fork了一份别人的代码,然后今天作者提交了一些更改,我想把他的更新同步到自己的仓库,因为以前没有团队使用git的经验,所以费了点时间,最终还是顺利解决了。

前提:

你需要设置好你本地的计算机与远程代码仓库的SSH连接。

步奏:

  • 你需要先在github或者其他的git托管网站fork一份别人的代码到自己的仓库,然后clone到本地。
  • 添加原作者的远程分支。用以下命令即可添加:
git remote add author git@XXX.git

然后运行git remote -v

你会发现有你的远程分支和原作者的远程分支:

author	git@xxx.git (fetch)
author	git@xxx.git (push)
origin	git@xxx.git (fetch)
origin	git@xxx.git (push)
  • 把原作者最新的更改拉到本地:
git fetch author
  • 提交之前你自己对代码所做的更改,要不然无法执行下一步骤。
git commit -m "something changed"
  • 把原作者代码与自己本地代码合并:
git merge author/master
  • 如果没有冲突,push本地仓库到自己远程的fork仓库。如果有冲突,解决冲突之后,再执行push操作。
git push origin master

至此,所有的操作都已经完成。如果你觉得自己的代码值得贡献,可以pull request给原作者。