我做了git rebase master,修复了文件中报告的冲突,然后git add解决了冲突文件.然后我做了git rebase --continue,并得到了这个:
应用:固定单元测试
没有变化 - 你忘了使用'git add'吗?如果没有任何东西可以上台,那么其他东西可能已经引入了相同的变化; 你可能想跳过这个补丁.
解决此问题后,运行"git rebase --continue".如果您想跳过此补丁,请改为运行"git rebase --skip".要检出原始分支并停止重新定位,请运行"git rebase --abort".
知道我在这里缺少什么吗?我应该做git rebase --skip吗?
Sto*_*ica 39
如果您使用的是Mac OS X,那么首先应禁用revisiond它,因为它可能会在rebase中间弄乱工作树中的文件,从而导致不可预测和破坏的行为:
git config --global core.trustctime false
Run Code Online (Sandbox Code Playgroud)
这篇文章解释了这个问题,非常感谢@nickfalk指出了这个问题.
至于你的反叛,这种情况在实践中并不罕见.让我们试着思考正在发生的事情的步骤:
当你在另一个分支的顶部重新定义当前分支时,git将HEAD移动到另一个分支,并开始应用你当前分支中的唯一提交.
在重播其中一个提交时,您遇到了冲突.您解决了它,但结果是没有提交更改,在此提交中没有重放.
实际上,这意味着您拒绝了当前正在重播的提交中的更改.因此,如果您不需要此提交中的任何内容,则跳过它是正常的.所以git rebase --skip这里有道理.
呼吸,你不会发疯!; - =这是一个已知的bug,其中OSX(如果这确实是你所使用的)与git的,它详细搞乱这里(不是我)。
短篇小说(即修复)是:
git config --global core.trustctime false
Run Code Online (Sandbox Code Playgroud)
我在我的项目中遇到了类似的问题,并通过将--preserve-merges选项放入rebase 命令来解决。在我的项目中,这个问题是由合并提交引起的,它是一个“空提交”。使用git rebase --preserve-merges它需要合并提交并继续合并而不破坏提交树。
| 归档时间: |
|
| 查看次数: |
13700 次 |
| 最近记录: |