[英]How to Git rebase interractively squash few commits before merge commit
我有一個要與 master 合並的功能分支。 在我這樣做之前,我想壓縮一些提交。
我已經從 master 合並到這個特性分支來解決沖突。 我要壓縮的提交在 master 的合並提交之前。
合並包含來自 master 的 180 個提交,處理沖突是一場巨大的斗爭,所以我想避免在變基時重做。
git的日志是這樣的:
A
|
B (merge commit)
|
C (22 commits from master)
|
X
|
Y
|
Z
|
D (coming from master)
|
E (coming from master)
|
F (coming from master)
|
...
... (more 155 commits from master)
...
我想將X
和Y
壓縮到Z
上。 當我做
git rebase -i HEAD~6
它顯示了來自合並提交的 master 的所有提交,所以當我只想壓縮X
和Y
時,我需要再次解決沖突。
我怎樣才能防止這種情況發生?
嘗試添加-r | --rebase-merges
-r | --rebase-merges
到你的 rebase 命令:
git rebase -i -r HEAD~6
音序器腳本看起來會有所不同,您很快就會發現它描述了一種描述您希望如何重放合並的方法。
在您的情況下:您只想將X
、 Y
和Z
在一起,您不必編輯合並部分。
git rebase
(沒有-r
)的默認行為是:
這就是為什么你的沖突再次被觸發
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.