用户可以很方便的从别的仓库中复制一份代码(Fork)到自己的名下。但是有一个不足是 GitHub 并不提供自动更新功能,那么此时就需要我们自己手动更新这个 Fork 仓库代码。
具体步骤
** 1、安装 GitHub客户端
或者 Git
。**
** 2、clone 需要更新的 Fork 分支到本地 **
1 | git clone git@github.com:yourname/repos.git <yourfolder> |
** 3、将源分支添加到该仓库的远程分支中 **
1 | git remote add upstream git@github.com:author/repos.git |
此时可以使用 git remote -v
查看远程分支列表,结果如下:
1 2 3 4 | upstream git@github.com:author/repos.git (fetch) upstream git@github.com:author/repos.git (push) origin git@github.com:yourname/repos.git (fetch) origin git@github.com:yourname/repos.git (push) |
** 4、fetch 源仓库代码的最新版本到本地 **
1 | git fetch upstream #这里的`upstream`是上面从源分支添加到远程分支的分支名 |
这里是从上游仓库 fetch 分支和提交点,提交给本地 master,并会被存储在一个本地分支 upstream/master
。
** 5、合并两个版本的代码 **
1 | git merge upstream/master |
这里把 upstream/master
分支合并到本地 master 上,这样就完成了同步,并且不会丢掉本地修改的内容。
** 6、更新到 GitHub 的 fork 上 **
1 | git push origin master |
只用 GitHub,不用命令行操作步骤
这里看到源项目已经领先我 Fork 的项目 84 个 commit 了,所以首先点击图中的 Pull request
:
由于这里没有修改,所以这里是空的,下面点击图中的 switching to base
:
下面点击 Create Pull request
:
这里给这个 pull request 取一个名字:
然后点击 Merge,最后 confirm 即可: