我经常重新定位交互式以对历史记录进行微小更改(例如删除空白行或编辑一行)。在大多数情况下,这些变化都是基于一些同行评审。
起初我做了我的改变:
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
的{{1}}参数是否可以避免使用编辑器(类似于git rebase --continue
)?
答案 0 :(得分:7)
我尝试了
;
(就像那样:GIT_EDITOR=true;git rebase --continue
),但这不起作用 (我正在使用mac)
GIT_EDITOR=true;
这将在当前shell会话中设置GIT_EDITOR
,以便遵循所有命令。
使用:
GIT_EDITOR=true git rebase --continue
将GIT_EDITOR
值作为环境变量传递给git命令分叉的子shell。