git - git rebase 错误 ("could not apply...")

标签 git github git-svn rebase git-rebase

我是 GitHub 存储库的管理员 https://github.com/plison/opendial .我想减少存储库上的提交数量,因为存储库已经有几千次提交,其中许多是小的调试更改,可以很容易地压缩在一起(尤其是几年前的那些)。

因此,我正在尝试应用 rebase ,以便将我的部分提交压缩在一起。但是,我遇到了以下问题:

  1. 当我输入例如git rebase -i HEAD~10,我在交互式编辑器中得到了相当多的提交行(远远超过 10 行)。可能是什么原因?
  2. 更重要的是,一旦我关闭交互式编辑器开始 rebase ,我系统地收到错误消息“错误:无法应用',即使我没有对提交进行任何更改(即,如果我将所有行保留为“选择”,而不进行任何修改或重新排序)。

我该如何解决这些问题?应该注意的是,存储库是从托管在 Google Code 上的先前 (SVN) 存储库自动导入的。到目前为止,转换似乎运行良好,但我想知道为什么在尝试重新设置我的提交时会出现这些错误。

最佳答案

提醒自己如何解决这个问题:

错误消息信息量不大。如果你输入

git rebase --continue

你意识到这个错误是因为 git 无法自行解决的 merge 冲突,需要你的帮助。

要查看哪些文件有冲突,请键入

git status

在你喜欢的编辑器/IDE 中解决 merge 冲突(提示:这应该以 i 开头,以 ntelliJ 结尾)

标记分辨率
git add .

如果所有冲突都已解决,您应该会看到如下内容:

(all conflicts fixed: run "git rebase --continue")

所以继续你的 rebase

git rebase --continue

希望你的 rebase 现在应该是成功的

git status

显示:

On branch feature/DIG-19302-Upgrade-mockito-v2
Your branch is behind 'origin/feature/your-feature-branch' by 2 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)

nothing to commit, working directory clean

不要执行 git pull。如果这样做,您只会覆盖您的 merge 冲突。而是将您的 merge 冲突解决方案推送到分支)与

git push --force

大功告成!您的 git 日志现在应该只显示 1 个提交(这是您刚刚执行的强制更新)

关于git - git rebase 错误 ("could not apply..."),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31069316/

相关文章:

Git Svn dcommit 错误 - 重新启动提交

团队成员之间的git推送同步

git - "failed to open '/etc/gitconfig ' - permission denied"使用 GitKraken 克隆存储库时

node.js - 启动 Electron App 后自动运行 Node.js 服务器文件

visual-studio-2010 - 在重构期间将 VS2010/Resharper 获取到 "git move"

git - 无法使用 Powershell 推送到 github

github - IntelliJ 无法登录 GitHub

git - 如果有人知道我的 Github 用户名和电子邮件,他们可以提交或推送我项目的文件吗?

git - 如何在没有项目名称的情况下指定目标目录进行 git clone?

git - 摆脱 temp-xxxx.rdb 文件