【问题标题】:What is the difference between git pull and git pull origin <branchName>git pull 和 git pull origin <branchName> 有什么区别
【发布时间】:2021-08-03 10:35:55
【问题描述】:

我有一个父分支origin/develop,从这个分支我创建了一个子分支feature/NewFeatureBranch

我现在在feature/NewFeatureBranch 使用git checkout feature/NewFeatureBranch

现在我已经完成了git pull 并且可以看到几个新的分支正在下载到我的本地机器上,它们的父级都是develop

在另一种情况下,我完成了git pull origin develop,在这种情况下,从其他分支向develop 新签入的文件正在下载。

git pull 的行为类似于git fetchgit pull origin develop 的行为类似于git fetch + git merge

【问题讨论】:

    标签: git github bitbucket


    【解决方案1】:

    文档的第一句话:

    在其默认模式下,git pull 是 git fetch 的简写,后跟 git merge FETCH_HEAD

    所以git pull 只是一个简写。 Git 对你的意思做了一些假设,并提供了缺失的部分。因此,默认情况下它的简写是:

    git fetch
    git merge <remote-tracking-branch-that-current-branch-tracks> [into the current branch]
    

    同样,如果你真的给了一个遥控器和一个分支,你仍然说:

    git fetch remote
    git merge remote/branch [into the current branch]
    

    您可以更改速记的含义(作为config 设置的一部分),例如更改为rebase 而不是merge,但大多数人不这样做。一般来说,有些人认为最好不要说git pull,而是说fetch,然后,如果需要,可以明确地说mergerebase或其他任何东西。这让您有机会“环顾四周”并决定如何继续。

    【讨论】:

      猜你喜欢
      • 2011-02-22
      • 2015-03-21
      • 2017-08-19
      • 2015-04-20
      • 2021-02-05
      • 2014-03-12
      • 2011-03-22
      相关资源
      最近更新 更多