为了账号安全,请及时绑定邮箱和手机立即绑定

‘git拉’和‘git FETCH’之间有什么区别?

‘git拉’和‘git FETCH’之间有什么区别?

Git
潇湘沐 2019-05-30 15:45:26
‘git拉’和‘git FETCH’之间有什么区别?.之间有什么区别?git pull和git fetch?
查看完整描述

5 回答

?
皈依舞

TA贡献1851条经验 获得超3个赞

用最简单的术语来说,git pullgit fetch后面是git merge.

你可以git fetch随时更新您的远程跟踪分支。refs/remotes/<remote>/.

此操作从不更改您自己的本地分支。refs/heads,而且不更改工作副本是安全的。我甚至听说过有人跑git fetch定期在后台的cron作业(虽然我不建议这样做)。

git pull是如何使本地分支更新其远程版本,同时更新其他远程跟踪分支。

GIT文件-吉特拉力:

在默认模式下,git pull是缩写git fetch紧随其后git merge FETCH_HEAD.


查看完整回答
反对 回复 2019-05-30
?
冉冉说

TA贡献1877条经验 获得超1个赞

  • 当你使用pull,Git会自动为你做你的工作。它是上下文敏感的。因此,Git将任何拉出的提交合并到当前正在工作的分支中。pull 自动合并提交,而不让您首先检查它们。。如果不密切管理分支机构,可能会经常发生冲突。

  • 当你fetch,Git从目标分支收集当前分支中不存在的任何提交,将它们存储在本地存储库中。。然而,它不会将它们与当前的分支合并。。如果您需要保持您的存储库的最新信息,但是如果您更新了您的文件,它可能会发生故障,这一点尤其有用。若要将提交集成到主分支中,请使用merge.


查看完整回答
反对 回复 2019-05-30
?
哈士奇WWW

TA贡献1799条经验 获得超6个赞

一个用例git fetch以下将告诉您自上次拉出后远程分支中的任何更改.。因此,您可以在执行实际拉出之前进行检查,这可能会更改当前分支和工作副本中的文件。

git fetch
git diff ...origin


查看完整回答
反对 回复 2019-05-30
?
凤凰求蛊

TA贡献1825条经验 获得超4个赞

我花了一点时间才明白其中的不同之处,但这是一个简单的解释。master在您的本地主机是一个分支。

当您克隆一个存储库时,可以将整个存储库获取到本地主机。这意味着当时您有一个原始/主指针HEAD师父指着同一个HEAD.

当您开始工作并提交时,可以将主指针提前到HEAD+你的承诺。但是,原始/主指针仍然指向您克隆时的状态。

所以区别是:

  • 如果你做了

    git fetch

    它将只获取远程存储库中的所有更改(

    GitHub

    )并将原始/主指针移动到

    HEAD

    。同时,您的本地分支大师将继续指向它的位置。
  • 如果你做了

    git pull

    ,它将进行基本提取(如前所述),并将对主分支的任何新更改合并,并将指针移到

    HEAD.


查看完整回答
反对 回复 2019-05-30
  • 5 回答
  • 0 关注
  • 1601 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信