还原混帐底垫一个补丁

问题描述 投票:2回答:3

我是在一个大的底垫中间有很多冲突。

刚刚发现一对夫妇git rebase --continue的实际之前,我不小心删除了一个文件,而不是其他。

我怎么能回去的补丁和解决这个问题,然后应用补丁?

编辑:--abort是不是因为我将不得不再次做所有的补丁的解决方案。我想放弃他们中的一部分

git rebase
3个回答
6
投票

在您的回购一切都在那里等待直到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您可以通过强制截断早。不这样做。


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


0
投票

git rebase --abort和重做的底垫。

© www.soinside.com 2019 - 2024. All rights reserved.