我是在一个大的底垫中间有很多冲突。
刚刚发现一对夫妇git rebase --continue
的实际之前,我不小心删除了一个文件,而不是其他。
我怎么能回去的补丁和解决这个问题,然后应用补丁?
编辑:--abort
是不是因为我将不得不再次做所有的补丁的解决方案。我想放弃他们中的一部分
在您的回购一切都在那里等待直到Git把它已经完全无法访问,通过任何裁判,至少在MONTH1。
所以,你已经做了git rebase master topic
的一些等价的,有说26条,A-Z上的话题,因为分支,你做了什么,原来是一个非常糟糕的哎呀基础重建O和并没有真正得到,直到S中充分发挥作用:
A...O...Z topic
/
...b....* master
\
A2..O2..S2 the inflight rebase with the mistake in the rebased O, O2
你是退出
git tag restart O2~
git rebase --abort
git rebase --onto restart O^ topic
现在你只需要重做由哎呀感染的提交。
如果有好的零件在O2〜..S2系列的提交,您要检索解决冲突,您可以标记S2为好,然后重做期间刚刚从这些提交,git checkout -p boneyard~3 -- goodpart1 goodpart2 etc etc
检查出好的部件(如您“已经标记S2为‘骨场’和良好的部分在P2)
我已经做到了这一点,在该区衍合,不得不重做。如果每个人都这样做了,在一个点或另一个我也不会感到惊讶。这没什么大不了的,即使是看似可怕的情况下,像你的。
1您可以通过强制截断早。不这样做。
请执行下列操作:
git rebase --abort
这会中止底垫,带你HEAD
回以前的底垫之前的状态。
我不认为存在使用git rebase
恢复单个补丁的选项。见git的重订文档的可能选项。
git rebase --help
GIT-REBASE(1) Git Manual GIT-REBASE(1) NAME git-rebase - Forward-port local commits to the updated upstream head SYNOPSIS git rebase [-i | --interactive] [options] [--onto <newbase>] [<upstream>] [<branch>] git rebase [-i | --interactive] [options] --onto <newbase> --root [<branch>] git rebase --continue | --skip | --abort In case of conflict, git rebase will stop at the first problematic commit and leave conflict markers in the tree. You can use git diff to locate the markers (<<<<<<) and make edits to resolve the conflict. For each file you edit, you need to tell git that the conflict has been resolved, typically this would be done with git add <filename> After resolving the conflict manually and updating the index with the desired resolution, you can continue the rebasing process with git rebase --continue Alternatively, you can undo the git rebase with git rebase --abort
还要检查这个链接,如果有帮助。
http://arigrant.com/blog/2014/5/4/git-rebase-stepping-forward-and-back
git rebase --abort
和重做的底垫。