我是新來的混帳和一個做一個「混帳拉」的小老頭。 有沒有辦法做一些像noop git pull? 喜歡的東西...有沒有辦法檢查「git pull」會導致的更改?
git pull --noop
...什麼將表明會發生在我的本地磁盤上有什麼變化?
感謝
我是新來的混帳和一個做一個「混帳拉」的小老頭。 有沒有辦法做一些像noop git pull? 喜歡的東西...有沒有辦法檢查「git pull」會導致的更改?
git pull --noop
...什麼將表明會發生在我的本地磁盤上有什麼變化?
感謝
您可以使用git fetch
。這不是真正的noop,因爲它在你當地的回購有一些副作用,但它只更新遠程跟蹤分支,並不影響你當地的分支機構。 然後,您可以分析遠程跟蹤分支中的更改,並決定如何處理您的本地分支機構。
我總是勸人們避免git pull
。所有git pull
所做的是:
git fetch
,然後但是:
有時檢查一下第二個命令會做很重要的,你不能做,如果你運行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
的另一個原因。)
假設你的分支的名字是feature-log'git remote update && git log feature-log..origin/feature-log'。這將顯示遠程分支和本地分支之間的區別。它是在'git pull'之前運行的。' – smarber
'git remote update'做了什麼?我可以運行'git log feature-log..origin/feature-log'嗎? –
'git remote update'就像'git fetch',但默認更新所有遙控器。 (也就是說,如果你有多個遙控器,它可以*多於一個*遙控器,除非你喜歡做一些事情,否則你只有一個遙控器。) – torek