0%

Git 的 fetch与pull

添加远端仓库

有时一个仓库可能有多个分支或者多个维护者版本,此时我们可能希望跟踪多个版本。

如何解决呢,就需要添加远程仓库。

可以使用一个简单的名字,以便将来引用,运行 git remote add [shortname] [url]

然后使用$ git remote -v就可以看到远端分支与对应的网址了,
此时就可以使用git fetch [shortname]或者git pull [shortname]来抓取更新了。

从远程仓库抓取数据

正如之前所说的,可以用下面的命令从远程仓库抓取数据到本地:

1
2
$ git fetch [remote-name]
$ git pull [remote-name]

那么这两个命令的区别在那里呢?

如果是克隆了一个仓库,此命令会自动将远程仓库归于 origin 名下。所以,git fetch origin 会抓取从你上次克隆以来别人上传到此远程仓库中的所有更新(或是上次 fetch 以来别人提交的更新)。有一点很重要,需要记住,fetch 命令只是将远端的数据拉到本地仓库,并不自动合并到当前工作分支,只有当你确实准备好了,才能手工合并。

如果设置了某个分支用于跟踪某个远端仓库的分支,可以使用 git pull 命令自动抓取数据下来,然后将远端分支自动合并到本地仓库中当前分支。在日常工作中我们经常这么用,既快且好。实际上,默认情况下 git clone 命令本质上就是自动创建了本地的 master 分支用于跟踪远程仓库中的 master 分支(假设远程仓库确实有 master 分支)。所以一般我们运行 git pull,目的都是要从原始克隆的远端仓库中抓取数据后,合并到工作目录中的当前分支。

处无为之事,行不言之教;作而弗始,生而弗有,为而弗恃,功成不居!

欢迎关注我的其它发布渠道