我想我弄错了。我想删除一些提交,所以我使用了git rebase -i并删除了最后一次提交。但随后它删除了我在工作目录和阶段目录中所做的所有更改。怎么会这样呢?我知道如果我删除了一些旧的提交就不会有这个问题了。有没有办法删除最后一次提交并将更改保留在我的工作目录中?
顺便说一句,使用git rebase -i和git rebase --onto <branch name>~<first commit number to remove> <branch name>~<first commit to be kept> <branch name>有什么区别
发布于 2013-08-24 03:49:17
如果您对已知文件有未提交的更改,则git rebase根本不会启动。它将失败,并显示以下错误:
Cannot rebase: Your index contains uncommitted changes.这个错误的一些变体自2007年以来一直存在。你到底是怎么启动git rebase -i的?
你的问题与git rebase -i的默认值有关,如果没有任何参数,它将默认到已签出的分支,并尝试根据配置为已签出分支的“上游”的<remote>/<branch>来重新设置它的基址。您可以通过以下方式查看分支的上游存储库和分支:
git config branch.<branch_name>.remote
git config branch.<branch_name>.mergehttps://stackoverflow.com/questions/18410636
复制相似问题