如何获取克隆存储库的上游存储库?

set*_*eth 2 git

假设有人克隆存储库A导致存储库B然后我克隆存储库B,有没有办法确定上游存储库(即存储库A)是什么?我知道github显示'从blah/blah分叉',但我没有在这个项目中使用github.

我问的原因是我想要在一个差异文件中获得该人所做的所有更改.

在subversion中我可以做到svn log --stop-on-copy第一次提交,然后svn diff -rXXXX:HEADXXXX是分支的第一个修订版,以获得所有更改的差异.我知道分支和克隆并不完全相同,但我想提供最终的结果.在上游回购和克隆回购上做差异似乎是要走的路,但我可能错了.

提前致谢.

CB *_*ley 6

简单地说,没有."上游"存储库(如果存储库甚至只有一个上游存储器)仅由存储库的配置设置决定,如果上游维护者只是从不同存储库执行显式提取,忽略配置的默认值,理论上这些可能是不准确的.

如果您具有对远程存储库的shell(或文件系统)访问权限,那么您可以查询(尝试remote.origin.url)的config文件或输出,git config但否则它不是标准"上传包"协议的一部分.

即使不了解远程存储库,您也可以通过使用git log --authorgit log --committer在获取的分支上找出特定的一组作者/提交者所做的提交.