2
使用交互式rebase時,我不明白將提交修復到上一個提交,並簡單地從列表中刪除所有其他提交之間的區別。修復和刪除Git Rebase中的提交之間的差異
據我所知,由於git提交爲每次提交拍攝整個存儲庫的快照,fixup沒有完成任何其他操作,而是創建我必須解決的合併衝突。
從我創建並運行測試命令的測試存儲庫中,使用fixup獲得相同的結果,並完全刪除那些提交併僅使用最後一個提交。修正的目的是什麼?
使用交互式rebase時,我不明白將提交修復到上一個提交,並簡單地從列表中刪除所有其他提交之間的區別。修復和刪除Git Rebase中的提交之間的差異
據我所知,由於git提交爲每次提交拍攝整個存儲庫的快照,fixup沒有完成任何其他操作,而是創建我必須解決的合併衝突。
從我創建並運行測試命令的測試存儲庫中,使用fixup獲得相同的結果,並完全刪除那些提交併僅使用最後一個提交。修正的目的是什麼?
如果你已經在代碼的相同部分提交了兩個提交(第二個是對前一個提交代碼的錯誤修復),只保留第二個提交將不起作用,因爲第二個提交不會找到需要應用修改的基本代碼。
爲了保持兩個修改只有一個提交,第二個提交需要修正(合併)到第一個。
源(法語):git merge and rebase
希望這個回答會幫助你。
壁球與fixup基本相同,除了壁球讓我們編輯提交信息。 –
「* ...修正不會完成任何事情,除了創建必須解決的合併衝突之外。」修復不會創建合併衝突,除非您以某種方式重新排序快照,否則衝突基本上已在每個快照中解決,你只是將快照結合在一起。 –
每當我使用fixup時,我不得不回去修復每次提交時感覺到的合併衝突。我認爲這與我之前合併的衝突有關,但我不知道如何。 – Brandon