假设有人克隆了存储库A,这导致了存储库B,然后我克隆了存储库B,有没有办法确定上游存储库(即存储库A)是什么?我知道github显示了“forked from blah/blah”,但我不会在这个项目中使用github。
我这样问的原因是,我想要在一个比较文件中获得此人所做的所有更改。
在subversion中,我可以先执行svn log --stop-on-copy以获得第一个提交,然后执行svn diff -rXXXX:HEAD,其中XXXX是分支的第一个修订版,用于对所有更改进行比较。我知道分支和克隆不完全是一回事,但我想提供我最终想要的东西。在上游repo和克隆repo上做一个比较似乎是可行的,但我可能错了。
提前谢谢。
发布于 2009-11-26 05:13:21
简单地说,不是。“上游”存储库(如果一个存储库只有一个上游)仅由存储库的配置设置决定,甚至在理论上,如果上游维护者只是从不同的存储库进行显式获取,而忽略配置的默认值,那么这些设置也可能是不准确的。
如果您拥有远程存储库的shell (或文件系统)访问权限,那么您可以查询config文件或git config (尝试使用remote.origin.url)的输出,但除此之外,它不是标准的“上传包”协议的一部分。
即使不了解远程存储库,您也可以通过在获取的分支上使用git log --author或git log --committer来确定一组特定的作者/提交者提交了什么。
https://stackoverflow.com/questions/1799941
复制相似问题