2013-07-18 156 views
26

我现在开始玩Git了,我有点困惑。对我而言,看起来有很多选项可以做同样的事情。我现在的问题是什么是下面的命令之间的区别: 'git remote update','git fetch'和'git pull'有什么区别?

  • 混帐取
  • 混帐拉
  • 而且哪一个更适用于更新的本地副本

    • git的远程更新远程分支的?

    +0

    请参阅[git远程更新和获取之间的差异?](http://stackoverflow.com/questions/1856499/differences-between-git-remote-update-and-fetch),以及[有什么区别'git fetch origin'和'git remote update origin'?](http://stackoverflow.com/questions/2688251/what-is-the-difference-between-git-fetch-origin-and-git-remote-update -起源)。 – 2013-07-18 01:28:32

    +0

    [git pull'和'git fetch'有什么区别?](http://stackoverflow.com/questions/292357/whats-the-difference-between-git-pull-and-git-fetch )。 – 2013-07-18 02:12:31

    回答

    33

    git remote update将更新所有分支机构设置为追踪远程的人,但在没有合并的任何变化。

    git fetch将只更新你的分支,但不合并任何更改。

    git pull将更新合并您所在当前分支的任何远程更改。这将是您用来更新本地分支的人员。

    +3

    'git fetch'会更新其他分支,如果你想的话。尝试使用'git fetch --all' – Arafangion

    +5

    您是否知道通过使用refspecs?''git fetch origin master:master',您实际上可以通过fetch执行快进合并。这只有在你没有'master'签出时才有效,因为Git必须移动分支指针,如果你当前在分支上,它不会这样做。 – 2013-07-18 01:31:50

    +3

    'get fetch'似乎可以在我使用的时候获取所有分支,即使不使用--all开关(Git for windows 2.10.0.1) –

    0

    不知道的git的远程更新,但混帐拉是git的获取由一个git合并自动执行...

    这部分是重复的。检查: What is the difference between 'git pull' and 'git fetch'?

    此外,如果它意味着什么给你,我从来没有使用git远程更新既fgit fetch。 你可以做得很好,拉,承诺和推。

    希望它可以帮助..

    +1

    'git fetch'有它的位置......有时你只关心你的经理修剪了多少分支;有时你只需要你所在分支的更新。 – Makoto

    +0

    我想它有道理=) – LucasA

    +2

    我几乎从不使用'git pull',我总是喜欢在合并它们之前预览任何上游更改,所以我主要使用'git fetch'。 – 2013-07-18 01:34:18

    相关问题