4
我經常通過重新設計交互來對歷史進行微小的更改(例如刪除空白行或編輯一行)。在大多數情況下,這些變化是基於一些同行評審。如何禁止`git rebase --continue`編輯器?
起初,我做我的變化那樣:
git rebase --interactive 83bbeb27fcb1b5e164318fa17c55b7a38e5d3c9d~
# replace "pick" by "edit" on the first line
# modify code
git commit --all --amend --no-edit
git rebase --continue
如果有如下的提交的一個合併衝突,我解決這些問題,並做到這一點:
git rebase --continue
# the commit message is shown, but does not have to be changed, so I just save and exit the editor
git rebase --continue
# the commit message is shown, but does not have to be changed, so I just save and exit the editor
git rebase --continue
# the commit message is shown, but does not have to be changed, so I just save and exit the editor
...
有沒有想什麼一個--no-edit
參數git rebase --continue
避免編輯器(類似於git commit
)?
將你喜歡的編輯器設置爲一個沒有任何事情成功的命令,比如'true'。 Git會調用它,它什麼都不做,並且會成功,Git將重新使用現有的提交消息。因此:'GIT_EDITOR = true git rebase --continue'。 – torek
@torek有沒有辦法將編輯器的更改應用於* one * git命令?我嘗試過';'(就像那樣:'GIT_EDITOR = true; git rebase --continue'),但那不起作用。 (我使用的是Mac,順便說一句) – slartidan
那(環境設置通過shell'VAR = val cmd ...')*不會影響一個命令,加上它自己運行的任何東西。爲了影響多個命令,你必須設置變量並「導出」它,它在大多數shell中是'export VAR = value;命令1;命令2; ...' – torek