两者之间有什么区别?git pullgit fetch?


当前回答

  • git pull获取承诺后尝试自动合并 。上下文敏感,因此所有被拉动的承诺都将合并为您目前活跃的分支。git pull自动合并承诺未经审查,而不先审查。。如果你不仔细管理自己的分支,你可能会遇到频繁的冲突。

  • git fetch收集当前分支中不存在的目标分支的任何承诺,并将其存储在本地仓库中然而,它不会与您当前分支合并。如果您需要不断更新您的仓库,但正在研究一些更新文件时可能中断的文件。要将承诺整合到当前分支中,您必须使用git merge之后。

其他回答

git pull = = (获取 Git + git 合并)

git refick 不改变本地分支 。

如果您已经拥有一个本地仓库, 并且为所要的工程设置了远程设置, 您可以使用 git 抓取, 来抓取所有现有的远程的分支和标记 。... Fetch 不改变本地分支 。 因此您需要将远程分支与本地分支合并, 以纳入新抓取的更改 。发自 Github

我花了一点点时间来理解有什么区别, 但这只是一个简单的解释。master在您的本地主机是分支 。

当您克隆一个仓库时, 将整个仓库获取到本地主机主机。 这意味着当您克隆一个仓库时, 您将会有一个源/ 主指示器HEAD指向同一方向HEAD.

当您开始工作并投入工作时,您将主指针推进到HEAD+ 你的承诺。但来源/总指针仍然指向你克隆时是什么。

因此,区别在于:

  • 如果你做了git fetch它只会获取远程仓库中的所有更改( A) 。吉特胡布)并移动源/主指针到HEAD同时,你的当地分行长会继续指出它的位置。
  • 如果你做了git pull,它基本上可以(如先前解释的)提取(如前所解释的)并合并对主分支的任何新修改,然后将指针移到HEAD.

其中一个使用实例git fetch是,以下将告诉您自您上次拉动以来远程分支的任何变化... 这样您就可以在实际拉动之前检查, 这样就可以改变您当前分支和工作副本中的文件 。

git fetch
git diff ...origin

见见git diff双- 双- 双- 双- 双- 双- 双- 双- 双- 双- 双- 双- 双- 双- 双- 双- 双- 双- 双- 双- 双- 双- 双- 双- 双- 双- 双- 双- 双..三点和三点...语法。

缩略git 拉命令实际上是一个shortcut用于git 获取 git 获取排 排 排 排 排 排 排 排 紧 排 排git 合并git 重新基数取决于您的配置配置命令。 您可以配置您的 Git 仓库, 这样git 拉是一个接驳物,然后是一个重置物。

两者有什么区别?git pullgit fetch?

要理解这一点,你首先需要明白,你所在的本地数据库不仅维护着您的本地存储库,而且还维护着远程存储库的本地副本。

git fetch将远程仓库的本地副本更新到最新 。 例如, 如果您的远程仓库是 GitHub , 您可能想要将远程仓库中所做的任何更改移到您的本地副本 远程仓库。 这将允许您执行比较或合并等操作 。

git pull另一方面,会将远程仓库的更改降低到您保存自己的代码的位置。 通常,git pull会做一个git fetch首先将远程存储库的本地副本更新, 然后它将把修改合并到您自己的代码存储库中, 并可能合并到您的工作副本中 。