说某人克隆存储库A导致存储库B然后我克隆存储库B,有没有办法确定上游存储库(即存储库A)是什么?我知道github显示'从blah / blah分叉',但我没有在这个项目中使用github。
我问的原因是我想在一个差异文件中获得该人所做的所有更改。
在subversion中,我可以svn log --stop-on-copy
来获取第一个提交,然后svn diff -rXXXX:HEAD
,其中XXXX是分支的第一个修订版,以获得包含所有更改的差异。我知道分支和克隆并不完全相同,但我想提供最终的结果。在上游回购和克隆回购上做差异似乎是要走的路,但我可能错了。
提前致谢。
答案 0 :(得分:6)
简单,不。 “上游”存储库(如果存储库甚至只有一个上游存储器)仅由存储库的配置设置决定,如果上游维护者只是从不同的存储库执行显式提取,忽略配置的默认值,那么理论上这些可能是不准确的。 p>
如果您具有对远程存储库的shell(或文件系统)访问权限,那么您可以查询config
文件或git config
的输出(尝试remote.origin.url),否则它不属于标准的“上传包”协议。
即使不了解远程存储库,您也可以通过在获取的分支上使用git log --author
或git log --committer
来确定特定作者/提交者集的提交内容。