【问题标题】:Find all changes between two branches in git在 git 中查找两个分支之间的所有更改
【发布时间】:2019-10-28 10:25:52
【问题描述】:

我想比较两个分支并查看两者之间的所有差异。在 Android Studio 中,您可以选择一个分支并选择比较。但这会弹出一个对话框,显示在当前分支上完成的所有提交的列表。然后,您选择要与其他分支进行比较的提交。但这不是我想要的。我不想经历每个提交并比较差异。这甚至是有问题的,因为较旧的提交将包含不再有效的代码。

如果我只从当前分支中选择最后一个提交,我只会看到该提交与被比较的分支之间的变化。但我真正的目标是查看当前提交和被比较的分支之间的所有更改。我该怎么做?

基本上,当我处理一项任务时,我会从其他分支(例如开发)创建一个分支来执行我的任务。完成任务后,我想将所有更改与原始任务进行比较,以便为代码审查做好准备。

【问题讨论】:

  • Android Studio(即 IntelliJ 的)Git 插件已经为您提供了一种非常强大的方法,可以将单个源文件与当前分支中的任何早期提交或任何其他分支的 HEAD 进行比较。为什么这对你不起作用?
  • Compare 函数将来自当前分支的单个提交与另一个分支进行比较。我不想要那个。我想查看所有更改,而不必处理不同的提交。
  • 如果它比较单个提交,你不能只使用当前分支的 HEAD(即最后一次提交)并将其与另一个分支进行比较吗?
  • 在比较两个分支时,AS 显示了 Log 选项卡中的提交和 Files 选项卡中的文件之间的差异。

标签: git android-studio


【解决方案1】:

在 Git 工具栏中,右键单击要比较的分支,然后选择“Show Diff with working Tree”,如下所示:

你会得到这个视图:

双击文件以获取 Diff 视图:

需要注意的是,由于某种原因,您不能将此选项与 master 一起使用。您可以在 from master 中使用它,但这不会让您随时在分支上进行更改。为了解决这个问题,我只需从 master 创建一个本地分支并与该分支进行比较。

我真的很喜欢这种方法,因为它适用于子模块!

【讨论】:

    【解决方案2】:

    从控制台你可以做 git diff master..develop

    如果您想要更好的视图,请使用 gitk
    gitk master..develop
    选择master的尖端,然后右键单击develop的尖端并选择“Diff selected -> this”。这将显示对一组中所有文件的更改。

    【讨论】:

      【解决方案3】:

      我通过右键单击我的“应用”目录进行比较 --> git --> 与分支比较

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2016-09-29
        • 1970-01-01
        • 2022-01-23
        • 1970-01-01
        • 1970-01-01
        • 2023-03-15
        • 2019-06-08
        • 1970-01-01
        相关资源
        最近更新 更多