我试图修改以前提交的更改,如下所述: How to modify a specified commit in git?
因此,我对更改进行了更改以便进行调整。国家,我想修改'他们以前的提交,所以我去
git rebase -i HEAD~3
但收到以下错误:
Cannot rebase: Your index contains uncommitted changes.
Please commit or stash them.
我无法理解Git在抱怨什么,因为这是应该发生变化的状态,对吗?
我做错了什么?
我使用v1.9.3
答案 0 :(得分:2)
好吧,它说
无法重新绑定:您的索引包含未提交的更改。 请提交或存储它们。
首先提交您的更改:
git add .
git commit -m 'ready to rebase'
然后再试一次
git rebase -i HEAD~4
然后在使用rebase时,您可以使用ready to rebase
提交进入上一个提交。
假设你有四个提交类似
pick 3396a30 commit one
pick 3396a31 commit two
pick 3396a32 commit three
pick 3396a33 ready to rebase
然后将其更改为
pick 3396a30 commit one
pick 3396a31 commit two
f 3396a32 ready to rebase # this line changed from "pick" to "f"
pick 3396a33 commit three
将导致
commit one
commit two # this will include "ready to rebase"
commit three
选项f
的含义是
f,fixup = like“squash”,但丢弃此提交的日志消息
s,squash = use commit,但融入之前的提交