列出两个Git回购(所有分支)之间的差异

问题描述:

有没有简单的方法来查看2个Git回购(所有分支&标签考虑)之间的所有区别?我知道与此有关的SO有几个问题,但最终,它们似乎都在分支基础上进行比较(例如:git log remote/master ... master)。我正在寻找能够列出回购之间所有差异的东西。列出两个Git回购(所有分支)之间的差异

用例是我有一家供应商在我回来的时候向我发送了一个Git repo。从那以后,我不确定发生了什么(在我的本地Git回购或回购或两者中)。我想比较所有分支以查看发生了什么变化。

是否有一个简单的Git方式来做到这一点,或者我仅限于脚本提取每个分支的名称并按分支比较分支?

+0

分支 - 或者更确切地说,分支*名称*只是一个特定提交的名称。实际提交ID是哈希ID。 *名称*让你和Git开始寻找提交。你必须做的是比较提交,而简单的方法是将任何两个存储库的提交合并到一个更大的存储库中。 'git fetch'命令采用“远程” - 一个对等库的名称和关联的URL - 完全相同:按照分支名称获取它们的提交,并将你没有的那些副本复制到*你的* repository,位于[cont'd] – torek

+0

下...在类似但略有修改的名称下,这是您的远程跟踪分支名称,例如origin/master或peer/master等。现在,考虑到他们早些时候给了你一个完整的仓库,你可以把它作为自己独立的东西,用它来将他们新的仓库添加到他们旧的仓库(假设他们不仅仅是重新开始),并且看到增加的东西,确切地看到他们做了什么。 – torek

+0

@torek我不确定我是否遵守;你是否说分支名称只是一个提交ID的引用? –

您可以更改为不同的分支,删除所有文件(.git文件夹除外),然后将其所有文件复制并粘贴到您的存储库(.git文件夹除外)并将其提交到单独的分支。

然后,您可以使用众多方法中的任何一种来区分两个分支。这是一种哈克式的,但出奇的好。

如果您愿意,您可以在完成后删除分支。