假設我有一個git分支,並在分享之前進行最終審查,我發現了一些小錯誤,例如拼寫錯誤。我想要做的就是將這個補丁應用爲「fixup」,但是它實際上會影響許多提交,因此在最終歷史記錄中沒有任何錯誤跡象。Git rebase:用一次提交修正多個提交
也就是說,如果我在一個提交中更改了行A,然後在另一個提交中更改了行B,然後我有一個影響到A行和B行的補丁,我想在提交更改行A被該修補程序的A部分修復,並且提交更改行B獲取B部分,而無需手動確定提交它們是哪一個。是否有捷徑可尋?
我覺得僞腳本會是這樣的:
collect all hunks from the fixup
for commit in the history we are rebasing:
check out commit
for hunk in fixups:
try:
apply hunk to the working tree
except:
continue
remove hunk from fixups
commit the working tree.
使用'git blame'(或'git annotate')查找引入Speling Erarrs的提交,單獨提交每個修復程序並將每個修復程序壓縮爲'rebase -i'可能更有意義修正每個「壞」的提交,也許。 – torek
我認爲問題中提出的算法是一個好主意。有人應該實施它! –