Pie*_*son 38 git github git-svn rebase git-rebase
我是GitHub存储库https://github.com/plison/opendial的管理员.我想减少存储库中的提交数量,因为存储库已经有几千个提交,其中许多是可以轻松压缩在一起的小调试更改(特别是几年前的那些).
因此,我正在尝试应用变基,以便压缩我的部分提交.但是,我遇到了以下问题:
git rebase -i HEAD~10,我在交互式编辑器中获得了相当多的提交行(远远超过10).可能是什么原因?我该如何解决这些问题?应该注意的是,存储库是从Google Code上托管的先前(SVN)存储库自动导入的.到目前为止转换似乎运行良好,但我想知道为什么我在尝试重新提交我的提交时会遇到这些错误.
Som*_*era 50
提醒自己如何解决这个问题:
错误消息不是很有用.如果你输入
git rebase --continue
Run Code Online (Sandbox Code Playgroud)
你意识到错误是由于git无法自行解决的合并冲突,需要你的帮助.
在您喜欢的编辑器/ IDE中解决合并冲突(提示:这应该以i开头并以ntelliJ结尾)
标记分辨率
git status
Run Code Online (Sandbox Code Playgroud)
如果所有冲突都得到解决,您应该看到如下内容:
git add .
Run Code Online (Sandbox Code Playgroud)
所以继续你的改变
(all conflicts fixed: run "git rebase --continue")
Run Code Online (Sandbox Code Playgroud)
希望你的rebase现在应该成功
git rebase --continue
Run Code Online (Sandbox Code Playgroud)
说明:
git status
Run Code Online (Sandbox Code Playgroud)
不要做一个git pull.如果这样做,您将只覆盖合并冲突.而是将合并冲突解决方案推送到分支机构
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
Run Code Online (Sandbox Code Playgroud)
你完成了!您的git日志现在应该只显示1次提交(这是您刚刚执行的强制更新)
Gre*_*ill 18
您的项目的历史记录似乎最近包含了许多合并提交(大概是你做的那些).您希望以交互方式重新绑定的合并提交的存在通常会导致问题.(交互式rebase几乎假设线性历史记录,但合并提交不是线性的.)
你的项目历史也似乎有两个并行的历史,它们在提交11b3653中合并在一起(使用像gitk或tig看到这个工具,它在Github的Web界面上没有很好地显示).
我建议您先尝试展平历史记录以摆脱并行历史记录,并删除合并提交.然后,一旦有了严格的线性历史记录,就可以设置重写历史记录以删除所有调试流失.
| 归档时间: |
|
| 查看次数: |
29885 次 |
| 最近记录: |