【问题标题】:gitkraken - How to compare 2 branchesgitkraken - 如何比较 2 个分支
【发布时间】:2019-04-13 12:26:24
【问题描述】:

有什么方法可以将 2 个分支(branch1 和 branch2)与 gitkraken 进行比较?

我想要一个有变化的文件列表

【问题讨论】:

    标签: git gitkraken


    【解决方案1】:

    如果您想找出分支 A 和 B 之间的区别 首先在分支 A 上结帐,然后单击分支 B 并选择提交它,然后您可以在右侧面板上找到更改。

    并且可以使用 Shift Click 在图表中选择多个提交行以显示其合并的差异

    【讨论】:

    • 我使用 Shift 键并点击提交并选择它们,尝试一下
    • 我认为使用 Ctrl 键是一个更好的解决方案。使用 shift 键不会达到预期的效果。它显示了“合并的差异”,这并不等同于比较两个分支的最后一次提交。
    • @LucasLugãoGuimarães 我现在对其进行测试,并且 ctrl 的结果与 shift 键相同!
    • @aminsaffar 如果您在提交之间对树进行了文件删除或其他中间操作,您最终可能会得到 shift 和 ctrl 键的两个不同结果。
    • 对于 mac,使用 'cmd' 键而不是 'ctrl' 键来查看两次提交之间的差异。只为第二次提交推送“cmd”键。
    【解决方案2】:

    据我所知,GitKraken 在对此事进行了一些研究后,不会让您比较分支的提交情况。 不过,一种做你想做的事情的方法是使用Soloing;您右键单击要比较的第一个分支并选择“Solo”。橙色圆圈将出现在分支名称的左侧,而不是眼睛。然后单击要独奏的第二个分支旁边的褪色橙色图标。只有那些分支才会显示在提交视图中。

    然后您只需选择一个提交,然后在按住 Shift 的同时单击第二个提交。 The list of changed files will appear on the right。点击文件也会显示内容的差异。

    值得一提的是,你不能设置 diff 的方向(源分支和目标分支);但这有助于我找出两个分支之间发生了什么变化。

    【讨论】:

    • 我不确定我是否理解您为什么需要进入单人模式。我可以单击以选择 any 一个提交,然后 shift 单击任何另一个,差异显示在 GitKraken 侧边栏中,无需单独操作。
    • 确实可以,但是如果您有很多分支,定位两个提交可能会很麻烦。具体问题是如何比较分支,单独使用它们会带来第一个过滤器,可以帮助比较分支。
    【解决方案3】:

    GitKraken 允许您比较两个分支,以及来自每个分支的提交,by CMD/CTRL-clicking the two commits from different branches to see their differences。如果您想比较每个分支的最新提交,您可以按住 CTRL 键单击每个分支的头部提交。

    【讨论】:

      【解决方案4】:

      我有两种不同的方法来检查两个分支之间的差异:

      • 使用“git difftool branch1..branch2”,我将 difftool 指定为图形工具(我通常使用 xxdiff)。

      • 另一种方法(可能更简单)是使用最优秀 Visual Studio Code 中的比较分支功能。有关更多详细信息,请参见此处:How to compare different branches in Visual Studio Code

      【讨论】:

        【解决方案5】:

        我不知道这个功能是不是最近的,但现在在 GitKraken 中显示 2 个分支的差异非常简单。

        您只需单击第一个分支的提交,按住 Shift 键,然后单击第二个提交,它可以在任何地方,例如第二个分支的提交。

        在执行此操作之前,您可以单独使用 2 个分支来简化图表。

        【讨论】:

          【解决方案6】:

          我想要一个已更改文件的列表

          git whatchanged

          • 您始终可以使用命令行并使用git whatchanged 命令。完整文档可在 https://git-scm.com/docs/git-whatchanged 找到。
          • 此命令支持许多 git log 标志,因此您也可以使用它们


          根据评论:

          假设 2 位同事在同一个 bug 上工作……你想比较这 2 个分支……以找到最佳解决方案(真实示例)

          有几种方法可以找到两个分支之间的差异:

          **如果你得到空结果交换分支

          • git diff <branch1>...<branch2>
          • git diff <branch1> ^<branch2>
          • git log <branch1>...<branch2>
          • git whatchanged

          【讨论】:

          • 用这个命令我可以将当​​前分支与起点进行比较...对...不是与其他分支...
          • 你想比较几个分支?
          • 假设 2 位同事在同一个 bug 上工作……而您想比较 2 个分支……以找到最佳解决方案(真实示例)
          • 我会为您更新答案,以便您接受 :-)
          • OP 询问如何在 GUI 工具“gitkraken”中实现这一点。您的解决方案虽然内容丰富,但并没有做到这一点。
          猜你喜欢
          • 1970-01-01
          • 2021-05-09
          • 2019-02-03
          • 2022-11-11
          • 2015-12-10
          • 1970-01-01
          • 2021-03-13
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多