我们如何得到两个git存储库之间的区别?

场景: 我们有一个repo_a和repo_b。后者是作为repo_a的副本创建的。之后,两个存储库都进行了并行开发。是否有一种方法可以列出这两个存储库的当前版本的差异?


当前回答

我使用PyCharm,它具有比较文件夹和文件的强大功能。

只需打开两个repo的父文件夹,并等待它索引。然后你可以用右键点击一个文件夹或文件,然后比较…然后在另一边选择相应的文件夹/文件。

它不仅显示了哪些文件不同,而且还显示了它们的内容。 比命令行简单多了。

其他回答

一旦你在一个存储库中有了两个分支,你就可以做git diff了

git fetch /the/other/repo/.git refs/heads/*:refs/remotes/other/*
git diff master remotes/b

这是不正确的。Remotes /b是一个遥控器,但不是一个分支。

为了让它工作,我必须做:

git diff master remotes/b/master

我使用PyCharm,它具有比较文件夹和文件的强大功能。

只需打开两个repo的父文件夹,并等待它索引。然后你可以用右键点击一个文件夹或文件,然后比较…然后在另一边选择相应的文件夹/文件。

它不仅显示了哪些文件不同,而且还显示了它们的内容。 比命令行简单多了。

一个简单的方法来做到这一点,而不触动你的遥控器配置。 从repo A,在master(假设你想比较主分支):

git fetch path/to/repo_b.git master
git diff FETCH_HEAD

Meld可以比较目录:

meld directory1 directory2

只要使用两个git repo的目录,你就会得到一个很好的图形比较:

当您单击其中一个蓝色项目时,您可以看到发生了什么变化。