git仓库的维护

仓库的维护

Fork 或 clone 来的仓库,一旦放置不管就会离最新的源代码越来越
远。如果不以最新的源代码为基础进行开发,劳神费力地编写代码也很
可能是白费力气。下面就让我们学习如何让仓库保持最新状态。
通常来说 clone 来的仓库实际上与原仓库并没有任何关系。所以我
们需要将原仓库设置为远程仓库,从该仓库获取(fetch)数据与本地仓
库进行合并(merge),让本地仓库的源代码保持最新状态(图 6.8)。

● 仓库的 Fork 与 clone

将 octocat/Spoon-Knife 作为原仓库,在 GitHub 上进行 Fork,然后
clone。
$ git clone git@github.com:hirocastest/Spoon-Knife.git
Cloning into 'Spoon-Knife'...
remote: Counting objects: 24, done.
remote: Compressing objects: 100% (21/21), done.
remote: Total 24 (delta 7), reused 17 (delta 1)
Receiving objects: 100% (24/24), 74.36 KiB | 68 KiB/s, done.
Resolving deltas: 100% (7/7), done.
$ cd Spoon-Knife

给原仓库设置名称


我们给原仓库设置 upstream 的名称,将其作为远程仓库。
$ git remote add upstream git://github.com/octocat/Spoon-Knife.git

获取最新数据

下面我们从远程仓库实际获取(fetch)最新源代码,与自己仓库的
分支进行合并。要让仓库维持最新状态,只需要重复这一工作即可。
$ git fetch upstream
From git://github.com/octocat/Spoon-Knife
* [new branch] master -> upstream/master


$ git merge upstream/master
Already up-to-date.

我们通过 git fetch 命令获取最新的数据,将 upstream/master 分
支与当前分支(master)合并。虽然本次示例没有可以合并的内容,但
这一操作确实可以将最新的源代码合并至当前分支。
这样一来,当前分支(master)就获得了最新的源代码。各位在创
建特性分支,编辑源代码之前,建议先将仓库更新到这一状态。一般情
况下 master 分支都会获取最新代码,很少需要 Fork 的开发者亲自进行
修正。

原文地址:https://www.cnblogs.com/xyyhcn/p/11672475.html