2017-03-17 76 views
1

我是新來的混帳和一個做一個「混帳拉」的小老頭。 有沒有辦法做一些像noop git pull? 喜歡的東西...有沒有辦法檢查「git pull」會導致的更改?

git pull --noop 

...什麼將表明會發生在我的本地磁盤上有什麼變化?

感謝

+1

假設你的分支的名字是feature-log'git remote update && git log feature-log..origin/feature-log'。這將顯示遠程分支和本地分支之間的區別。它是在'git pull'之前運行的。' – smarber

+0

'git remote update'做了什麼?我可以運行'git log feature-log..origin/feature-log'嗎? –

+0

'git remote update'就像'git fetch',但默認更新所有遙控器。 (也就是說,如果你有多個遙控器,它可以*多於一個*遙控器,除非你喜歡做一些事情,否則你只有一個遙控器。) – torek

回答

1

您可以使用git fetch。這不是真正的noop,因爲它在你當地的回購有一些副作用,但它只更新遠程跟蹤分支,並不影響你當地的分支機構。 然後,您可以分析遠程跟蹤分支中的更改,並決定如何處理您的本地分支機構。

1

我總是勸人們避免git pull。所有git pull所做的是:

  1. 你運行git fetch,然後
  2. 來看對你另一個Git的命令。

但是:

  • 有時檢查一下第二個命令會做很重要的,你不能做,如果你運行git pull

  • 有時第二個命令出錯了,如果你自己運行它,你將會有更好的想法發生。

  • 第二個命令的默認值是git merge,但git rebase通常是更好的選擇。即使git merge是正確的,in some Git workflows,它可能很重要swap the direction of the merge - 即,將您的提交合併到上游工作,而不是將上游工作合併到您的提交中 - 這是您不能使用git pull

一旦你知道這東西都冷,git pull實際上可能更方便,因爲你通常需要做的事情git fetch後輸入兩個命令是一樣,這麼辛苦,你知道。 :-)(並且,git pull內置了一個特殊的角落案例,用於拉入一個空的存儲庫,但大多數人不會故意這樣做,這種特殊情況曾經被破壞:它可能會破壞工作,現在已經修復,但是完全避免git pull的另一個原因。)

相關問題