当前位置:  开发笔记 > 开发工具 > 正文

Git rebase失败了

如何解决《Gitrebase失败了》经验,为你挑选了2个好方法。

我试图改变一位同事的工作.

首先,我得到了大量的冲突,其中<<<<<头部接缝包含新代码.

然后过了一会儿我得到以下错误:

fatal: update_ref failed for ref 'refs/heads/dev_504': 
cannot lock ref     'refs/heads/dev_504': ref refs/heads/dev_504 is at
 XXXXXXX 
 but expected     XXXXXXXX
Could not move back to refs/heads/dev_504

然后,如果我尝试继续,我得到以下错误:

fatal: cannot resume: .git/rebase-apply/final-commit does not exist.

我怎样才能解决这个问题,以便rebase不会出错?



1> 小智..:

您可以运行git rebase --abort以完全撤消rebase.Git将返回到你的分支状态,就像调用git rebase之前一样.

您可以运行git rebase --skip以完全跳过提交.这意味着将不包括由有问题的提交引入的任何更改.您很少选择此选项.

你可以修复冲突.

如果不这样做,您应该重新创建分支,或者您可以删除包含rebase状态的.git/rebase-merge目录.



2> Alim Özdemir..:

显然,你想要重新定义的分支也在你分支的时候,可能是清理历史记录或在另一个分支上重新定位.如果是这样,您需要:

中止,当前的混乱:git rebase --abort

是最新的: git fetch

现在有趣的部分:

git rebase --onto BUDDY_BRANCH YOUR_BRANCH~ YOUR_BRANCH

例如,你分支你的本地主人(结账/主人),一个新的分支test_branch(你现在想用当前的原点/主人更新)

git rebase --onto master test_branch~ test_branch

这样做的简单来说,它需要你的分支初始父提交,在当前主服务器和基于它的rebase中找到它.

推荐阅读
保佑欣疼你的芯疼
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有