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

时间:2009-11-25 21:05:36

标签: git

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

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

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

提前致谢。

1 个答案:

答案 0 :(得分:6)

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

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

即使不了解远程存储库,您也可以通过在获取的分支上使用git log --authorgit log --committer来确定特定作者/提交者集的提交内容。