首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >git rebase i vs git rebase --onto

git rebase i vs git rebase --onto
EN

Stack Overflow用户
提问于 2013-08-24 03:39:54
回答 1查看 1.1K关注 0票数 1

我想我弄错了。我想删除一些提交,所以我使用了git rebase -i并删除了最后一次提交。但随后它删除了我在工作目录和阶段目录中所做的所有更改。怎么会这样呢?我知道如果我删除了一些旧的提交就不会有这个问题了。有没有办法删除最后一次提交并将更改保留在我的工作目录中?

顺便说一句,使用git rebase -igit rebase --onto <branch name>~<first commit number to remove> <branch name>~<first commit to be kept> <branch name>有什么区别

EN

回答 1

Stack Overflow用户

发布于 2013-08-24 03:49:17

如果您对已知文件有未提交的更改,则git rebase根本不会启动。它将失败,并显示以下错误:

代码语言:javascript
复制
Cannot rebase: Your index contains uncommitted changes.

这个错误的一些变体自2007年以来一直存在。你到底是怎么启动git rebase -i的?

你的问题与git rebase -i的默认值有关,如果没有任何参数,它将默认到已签出的分支,并尝试根据配置为已签出分支的“上游”的<remote>/<branch>来重新设置它的基址。您可以通过以下方式查看分支的上游存储库和分支:

代码语言:javascript
复制
git config branch.<branch_name>.remote
git config branch.<branch_name>.merge
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18410636

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档