2011-07-08 84 views
1

我一般做的git pull命令抓取+與本地復位器從遠程回購合併Git倉庫拉命令

  1. 是否混帳拉取+合併從GitHub回購所有的分支機構或剛做了手術專對於已經定義了參考的分支。 ??

  2. 假設我沒有爲特定的分支定義ref,如果我打電話給git pull,它會做什麼?我試圖多次觀察它,但我對此沒有完全的瞭解。

  3. 我對特定文件做了很多更改,現在如果我將git拉到那個分支上。我的更改是否會消失並與拉取的文件合併? ??

回答

1
  1. git pull不帶參數將只工作,如果你當前已簽出的分支配置參數的拉動,即它是一個跟蹤分支。您可以通過在這種情況下使用git remote show remotename

  2. 看到配置參數的推拉分支它實際上將打印出文字說你沒有指定您希望git的工作

  3. 如果分支你的改變是承諾的,而不是與你從遙控器拉出的任何東西相沖突 - 它們將被合併在一起。他們不會消失。 OTOH如果你知道或認爲遠程分支可能有你當地分支沒有的變化,我會推薦使用git pull --rebase。如果您的更改沒有提交,操作將被中止,您將不得不提交這些或存儲

+0

關於git pull --rebase的更多信息,--track命令怎麼樣?你也可以分享你的觀點。我曾經認爲只有當你在.git/config文件中指定。這是什麼 - 軌道選項 –

+0

- track是建立無參數拉的分支的方法之一。它主要用於使用git分支或git checkout命令創建分支:git branch --track dev1_featureX dev1/featureX –

1
  1. Git的不只是試圖在其中運行pull命令merge分支。其他分支僅被提取。
  2. Git fetch收到所有分行的最新信息。
  3. Git會通知您,您的工作樹不乾淨,並要求您或者stash更改或commit他們。
+0

是否確定您拉到主分支上,並且所有其他底層分支都獲取但未合併? ? –

+0

很確定。試試看。合併只能發生在工作樹上而不是提交對象上。 – JJD