【问题标题】:How can I tell how far into a git rebase I am when resolving conflicts?在解决冲突时,如何判断我的 git rebase 有多远?
【发布时间】:2011-10-07 21:58:04
【问题描述】:

我在 git 中重新设置基础并且遇到了很多冲突。我解决每个人并做git rebase --continue,只是遇到下一个冲突。如何查看我离成功完成变基还有多远?

【问题讨论】:

    标签: git conflict rebase


    【解决方案1】:

    您似乎可以在此处看到补丁列表:

    .git/rebase-apply/[0-9]*
    

    【讨论】:

      【解决方案2】:

      如果您的问题是关于查看已经解决了多少冲突,我通常会快速解决

      $ git diff
      

      在进行变基时。冲突部分将不会暂存(假设您使用的是git mergetool)。

      或者,您也可以直接使用 grep 查找冲突标记。

      如果您想知道已经应用了多少次提交,只需使用

      $ git log REBASE_BASE..
      

      其中REBASE_BASE 是您要变基的提交。

      【讨论】:

        【解决方案3】:

        文本文件 .git/sequencer/todo 将向您显示下一个要重新定位或精选的提交。

        此外,在 Windows 中,Git Bash shell 在提示符中具有变基进度状态,格式如下:
        (branch-name|REBASE 1/10)

        我可以从 Powershell 使用以下命令访问 Git Bash:
        sh --login

        【讨论】:

        • 我在任何地方都看不到那个文件
        【解决方案4】:

        我不确定您是否可以衡量您必须走多远,但它列出了您在 rebase 中的提交次数。在错误输出中有一行看起来像

        Patch failed at 0003 <commit message>
        

        0003 表示你在 rebase 中提交了三个提交。

        【讨论】:

        • 谢谢 Ryan,这是否意味着我已经应用了三个提交,或者三个远程提交?如果它是我的,我想我可以使用它以及我提前多少次提交来获得进步感。
        • @Zugwalt:rebase 适用于某个有序的提交列表。 3 表示您在列表中的第三位。这不是“我的”与“远程”的问题。尝试阅读git-rebase 描述的第一部分。这可能需要几次,但如果你能掌握这个概念,它将帮助你理解发生了什么。
        • 好的,我想我明白了,并且可以使用该数字和 git log 语句的组合来计算进度。谢谢!
        猜你喜欢
        • 2020-03-02
        • 1970-01-01
        • 2021-12-27
        • 2018-09-21
        • 2011-03-31
        • 1970-01-01
        • 1970-01-01
        • 2021-12-27
        • 2015-08-30
        相关资源
        最近更新 更多