2013-07-18 155 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

    相關問題