37
我聽說過關於Git的「合併泡沫」。我對Git相當熟悉,但不認爲自己是專家。我聽說過一些關於合併泡沫的負面消息。什麼是Git中的「合併泡沫」,它有什麼問題,我該如何避免它?什麼是「合併泡沫」?
我聽說過關於Git的「合併泡沫」。我對Git相當熟悉,但不認爲自己是專家。我聽說過一些關於合併泡沫的負面消息。什麼是Git中的「合併泡沫」,它有什麼問題,我該如何避免它?什麼是「合併泡沫」?
A 合併泡泡是Git中的「微不足道的合併」,不需要任何衝突來解決。當您使用--graph
選項時,會在顯示合併的日誌中出現氣泡。例如,如果運行git log --graph
你可能會看到這樣的內容:
| |
* | commit d79f3c4e129356b055c659ee5be28081c1f38aa1
|\ \ Merge: 09bf1ed 4ef9a23
| | | Author: Peter <[email protected]>
| | | Date: Wed Sep 17 17:21:07 2014 -0400
| | |
| | | Merge branch 'master' of http://fictitiousrepo.visualstudio.com/DefaultCollection/_git/fictitiousproject
| | |
| * | commit 4ef9a2387f0d4db39a6cab8ff8f531815935c305
| | | Author: Andrew <[email protected]>
| | | Date: Tue Sep 16 11:54:14 2014 -0500
| | |
| | | updated changelog
| | |
* | | commit 09bf1ed0125d77c26b5760939c125998bb046e9a
|//Author: Peter <[email protected]>
| | Date: Wed Sep 17 17:20:30 2014 -0400
| |
| | fixed some bugs
在線條「膨脹」出來是「合併泡沫」。這看起來似乎無害;但許多人認爲它比可能發生可讀要少得多,這將是這樣的:
|
* commit 09bf1ed0125d77c26b5760939c125998bb046e9a
| Author: Peter <[email protected]>
| Date: Wed Sep 17 17:20:30 2014 -0400
|
| fixed some bugs
|
* commit 4ef9a2387f0d4db39a6cab8ff8f531815935c305
| Author: Andrew <[email protected]>
| Date: Tue Sep 16 11:54:14 2014 -0500
|
| updated changelog
|
...因爲沒有合併真的很需要。
這通常會在通過自動合併來接受拉取請求時發生。有時候,這是由於「合併請求」按鈕在Github上的工作原因。
爲了避免合併氣泡與拉請求,一種策略是手動合併。例如:
git checkout master
git remote add remoteorigin git://remotegithost.com/remotegitrepo/remotegitproject
git fetch remoteorigin
git merge remoteorigin/remoteprojectbranch
git push origin master
要從拉請求最近承諾合併泡沫(如果你還沒有推),一個策略是先藏匿當前的變化,你的頭恢復到泡沫前的承諾,拉底,然後推。例如:
git stash save
git reset --hard HEAD~1
git pull --rebase
git push origin HEAD
+提問和解答。一個男人表演。 – 2014-10-07 15:17:28
這就像......我見過的最好的自我回答的問題。超級實惠,感謝分享。 – meagar 2014-10-07 15:18:48
我不能在SO上找到答案,所以我想我會分享... – 2014-10-07 15:19:38