欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

Git / git clone 、git pull 和 git fetch

发布时间:2024/10/14 编程问答 65 豆豆
生活随笔 收集整理的这篇文章主要介绍了 Git / git clone 、git pull 和 git fetch 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

一、git clone

Git 的 clone 命令的工作如下:

1、自动将远程主机命名为 origin,拉取它的所有数据。

2、创建一个指向它的 master 分支的指针,并且在本地将其命名为 origin/master。

3、创建一个与 origin 的 master 分支在指向同一个地方的本地 master 分支。

 

二、git fetch

1、本地有提交,远程也有别人的推送

远程库有人推送,提交了 C0 和 C1:

 本地提交了 D0 和 D1:

只要你不与 origin 服务器连接,你的 origin/master 指针就不会移动。

 2、同步

如果要同步远程库到你的工作,运行 git fetch origin 命令。

$ git fetch origin

这个命令功能:

(1)查找 “origin” 是哪一个服务器,从中抓取本地没有的数据;

(2)更新本地数据库,移动 origin/master 指针指向新的、更新后的位置。

要特别注意的一点是 fetch 抓取到新的远程跟踪分支时,本地的工作区(workspace)不会自动生成一份可编辑的副本,抓取结果是直接送到版本库(Repository)中。如下图:

 

打个比方,在远程库 origin 新建了一个分支 dev,git fetch 后本地不会生成一个新的分支 dev(可用 git branch 查看),只有一个不可以修改的 origin/dev 指针。

3、在 origin/master 后继续工作

如果想要在 origin/master 分支上工作,可以新建分支 test 并将其建立在远程跟踪分支之上:

$ git checkout -b test(本地分支) origin/master(远程分支)

这会给你新建一个用于工作的本地分支 test,并且起点位于 origin/master。

4、合并

    如果想把拉取的结果合并到本地分支,需要手动合并。使用如下命令:

$ git chekout master $ git merge origin/master

然而,看到上面的合并结果会想到命令 git pull 。在大多数情况下它的含义是一个 git fetch 紧接着一个 git merge 命令。即 git pull 是 git fetch 和 git merge 的两步的和。

但是由于 git pull 的使用经常令人困惑,所以通常单独显式地使用 fetch 与 merge 命令会更好一些。
 

(SAW:Game Over!)

总结

以上是生活随笔为你收集整理的Git / git clone 、git pull 和 git fetch的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。