假設現在我在master
分支上,而當前提交的是c0
。現在我做一個git branch fb
並在master
分支上做出2個更多的提交mc1
和mc2
。之後,我做git checkout fb
並做出承諾fc1
並做git rebase master
。現在fc1
應該在mc1
和mc2
之上。最後我做了git checkout master
和git rebase fb
和git快速轉發。我對這個快速發展感到困惑,儘管我知道這是git做出的一個明智的決定。但是,根據rebase的定義,git應該將c0
作爲兩個分支的共同祖先,所以它應該在fb
之上再次應用mc1
和mc2
- 雖然我知道這將是一個愚蠢的舉動,但爲什麼不呢?這樣做?Git - 關於合併,重定位和快進的混淆
此外,在最後一步,git rebase fb
和git merge fb
會有所不同,因爲兩者都只是快進?如果我在這裏做git merge fb
,那麼即使一個父母是另一個父母的祖先,新的承諾是否也有兩個父母?
這部分是清晰的,那第二個問題? – Xufeng
@旭楓究竟是哪一個? – TimWolla
在這種情況下合併和重新組合會有所不同,哪一個更受歡迎? – Xufeng