Show diff when writing commit messages during an interactive rebase

大憨熊 提交于 2019-12-05 18:04:05

问题


When doing a regular git commit, git commit --verbose shows the diff in the text editor when writing the commit message.

Suppose I am doing an interactive rebase (git rebase --interactive) to edit previous commits. To 'continue' rebasing, I run git rebase --continue. This opens a text editor for editing the commit message, but it does not show the diff. After making changes to a commit, how can I display the diff when (re)writing the commit message during an interactive rebase?

git rebase --continue --verbose doesn't seem like a valid command...


回答1:


To show the diff:

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

To make all commits verbose without having to specify -c commit.verbose=true every time, add this to ~/.gitconfig:

[commit]
    verbose = true

Reference: man git-config.




回答2:


You can do:

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

If you get tired copying that command you can create an alias in your ~/.gitconfig:

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

And now just do:

git myrebasecontinue



回答3:


In the middle of a rebase,

git diff

shows you the changes not yet added to the commit,

git diff --cached 

shows you the new changes you committed, and

git show

shows you the original changes in the commit you're editting.



来源:https://stackoverflow.com/questions/47988748/show-diff-when-writing-commit-messages-during-an-interactive-rebase

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!