在交互式rebase期间编写提交消息时显示差异

时间:2017-12-27 08:24:52

标签: git git-rebase git-commit

在进行常规git提交时,git commit --verbose在编写提交消息时会在文本编辑器中显示diff。

假设我正在进行交互式rebase(git rebase --interactive)来编辑以前的提交。要“继续”变基,我会运行git rebase --continue。这将打开一个文本编辑器,用于编辑提交消息,但不会显示差异。在对提交进行更改后,如何在交互式rebase期间(重新)写入提交消息时显示diff?

git rebase --continue --verbose似乎不是一个有效的命令......

3 个答案:

答案 0 :(得分:1)

在rebase中间,

git diff

显示尚未添加到提交的更改

git diff --cached 

显示您提交的新更改

git show

显示您正在编辑的提交中的原始更改。

答案 1 :(得分:1)

你可以这样做:

git -c commit.verbose=true rebase --continue

如果你厌倦了复制该命令,你可以创建一个 ~/.gitconfig中的别名:

[alias]
    myrebasecontinue = "!git -c commit.verbose=true rebase --continue"

现在就做:

git myrebasecontinue

答案 2 :(得分:1)

显示差异:

git -c commit.verbose=true rebase --continue

要使所有提交变得冗长而不必每次都指定-c commit.verbose=true,请将其添加到~/.gitconfig

[commit]
    verbose = true

参考:man git-config