我是 GitHub 存储库的管理员 https://github.com/plison/opendial .我想减少存储库上的提交数量,因为存储库已经有几千次提交,其中许多是小的调试更改,可以很容易地压缩在一起(尤其是几年前的那些)。
因此,我正在尝试应用 rebase ,以便将我的部分提交压缩在一起。但是,我遇到了以下问题:
- 当我输入例如
git rebase -i HEAD~10
,我在交互式编辑器中得到了相当多的提交行(远远超过 10 行)。可能是什么原因? - 更重要的是,一旦我关闭交互式编辑器开始 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/