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


当前回答

有时视觉表现会有所帮助。

enter image description here

其他回答

有时视觉表现会有所帮助。

enter image description here

简简单简的答案是:git pull简单git fetch和继 继 继 继 继 继git merge.

必须指出,git pull不管你喜不喜欢自动合并。这当然可能导致合并冲突。让我们假设你的远程是origin并且你的分支是master。如果您git diff origin/master在拉车之前,你应该对潜在的合并冲突有某种了解,并且可以据此为你的当地部门做好准备。

除了拉和推,一些工作流程涉及git rebase,例如这一条,我从相关条款中转述如下:

git pull origin master
git checkout foo-branch
git rebase master
git push origin foo-branch

如果你发现自己处于这种情况, 你可能会被诱惑git pull --rebase除非您真的知道自己在做什么 否则我建议不要这么做man页面git-pull版本, 版本2.3.5:

这是一个潜在危险的操作模式。 它重写历史, 当您已经发布历史时, 历史并不是好兆头。 除非您仔细阅读了 git- rebase(1) , 否则不要使用此选项 。

初学者的简单图形化代表,

enter image description here

在这里,

git pull  

将会从仓库获取代码 并重新基础与您的本地... 在git拉动中,有 可能性创造新的承诺。

但是在,

git 获取 git 获取

将会从存储库获取代码, 我们需要通过使用git rebase

eg: 我要从服务器主机取回它, 并在本地主机重标 。

1) git pull( 重基将自动完成) :

git pull origin master

在这里来源来源是你的远程回寄师父您的分支

2) git 获取( 需要手动重标) :

git fetch origin master

它会从源代码中获取服务器更改。 它会位于本地, 直到您自己重新定位它。 我们需要通过检查代码手动来修正冲突 。

git rebase origin/master

这将会将代码重设为本地代码。 在确保您在正确的分支之前。

git fetch从远程服务器将代码从远程服务器撤回到本地仓库的跟踪分支。如果您的远程服务器被命名origin然后,这些分支将居其中;origin/,例如,origin/master, origin/mybranch-123等等。这些不是你们的现树枝,而是你们的现树枝。当地当地服务器上那些分支的复制件

git pull是否为 a 的git fetch但当时并且,还有将跟踪分支的代码合并到您当前本地版本的该分支中。如果您尚未准备好进行该修改,只需git fetch头一次。

您可以从远程仓库获取, 查看差异, 然后拉动或合并 。

这是被称作远程仓库的示例origin和支派,和支派,master跟踪远程分支origin/master:

git checkout master                                                  
git fetch                                        
git diff origin/master
git rebase origin master