代码之家  ›  专栏  ›  技术社区  ›  seth

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

git
  •  2
  • seth  · 技术社区  · 14 年前

    假设有人克隆了存储库A,结果是存储库B,然后我克隆了存储库B,有没有办法确定上游存储库(即存储库A)是什么?我知道Github显示了“来自blah/blah的分叉”,但我没有在这个项目中使用Github。

    我之所以问这个问题,是因为我想获取这个人在单个diff文件中所做的所有更改。

    在颠覆中我可以做 svn log --stop-on-copy 得到第一个承诺然后 svn diff -rXXXX:HEAD 其中,XXXX是分支的第一个修订版,用于对所有更改进行比较。我知道分支和克隆并不完全相同,但我想最终提供我想要的东西。在上游回购和克隆的回购上执行diff似乎是可行的,但我可能错了。

    事先谢谢。

    1 回复  |  直到 14 年前
        1
  •  6
  •   CB Bailey    14 年前

    简单地说,“上游”存储库(如果一个存储库甚至有一个上游)只由存储库的配置设置决定,而且理论上,如果上游维护人员只是从不同的存储库显式提取,而忽略了配置的默认值,那么这些设置可能不准确。

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

    即使不知道远程存储库,您也可以通过使用 git log --author git log --committer 在拔出的树枝上。