如何在Android Studio中比较两个Git分支?

30

我不确定是否有可能像 Git 一样比较主分支(或任何其他分支)与当前功能分支进行比较。

我想要两个分支之间的差异(主分支和功能分支),以便在合并之前比较它们的差异。但我发现 Git 的用户界面不太友好,因为我不能像AS那样遍历代码并直接进行更改。

我找到了一个选项,可以将任何分支与我的当前本地分支进行比较(这对我来说似乎是一种解决方案,但当我使用它时, 我感到非常困惑)。

SS!

SS2

AS 中的 与当前比较 功能可以比较特定选定提交的两个分支。

而我需要比较最新的两个分支,即功能分支的头与主分支的头。这就像在 Git 的合并请求中所得到的结果。

附言:我曾考虑选择所有提交以获取整个差异,但结果却很不同,是所有差异的混合。

我想得到类似这样的结果:

SS#


尝试在终端中使用git difftool master..featurebranch。您可以使用meld作为UI的diff工具。 - Vibhas
使用GIT UI无法完成这个任务吗?@Vibhas - Anmol
4个回答

32

我通过右键点击我的“app”目录-> git -> 与分支比较来进行比较。

查看完整差异


2
这似乎运行得相当不错。它提供了一个更改文件的列表,您可以查看这些文件中的差异。您甚至可以逐个合并这些差异。您甚至可以从选择基本项目开始查看所有文件。 - SMBiggs

2

有一些窍门

1.在Android Studio中将视图更改为项目enter image description here

  1. 选择Git与分支比较

enter image description here


0

看起来没有直接的方法,但是如果你仔细看的话,还是有办法的。

  • 如果你能找到一个分支,它的最后一次提交时间比你想要比较的提交时间早,那么就不需要创建新的分支了。

    如果找不到这样的分支,只需按照自己的喜好创建一个本地分支即可。

  • 使用 "与分支比较..."

  • 所选分支头和目标分支之间的所有提交都会显示在表格中。在这里找到你需要的提交。

  • 使用标题为日志文件的选项卡更好地比较修订版本。


0
这是我在合并代码到主分支之前的检查流程:
1.) 创建并切换到“master”分支或与“master”中代码相同的分支。(可以通过Android Studio中的终端选项卡完成此操作。)
git checkout master

git checkout master_code_review_branch

2.) 在终端中运行此命令,将要比较的分支(例如 ORIGIN/BRANCH_TO_MERGE)中的提交复制到您已检出的分支中。 它不会提交。

git merge --no-commit --no-ff ORIGIN/BRANCH_TO_MERGE

3.) 现在您可以通过检查“版本控制”选项卡或“提交”确认菜单在Android Studio中查看所有单独的更改。

完成后,您可以在Android Studio UI中“中止合并”或通过此终端命令执行: git reset --merge --hard

如果您感兴趣,可以在此处了解更多详细信息: https://medium.com/@mkutlev/pull-request-review-with-intellij-idea-or-android-studio-e60fbb3e3639


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接