在git中获取另一个repo的两个标签之间的提交列表

7gcisfzg  于 2023-01-07  发布在  Git
关注(0)|答案(1)|浏览(193)

我有一个repo A,它有不同版本的标签,在repo B中,我怎样才能得到repo A的两个标签之间的提交列表?
我知道,如果我在存储库A中,我可以做类似git log --pretty=oneline tag1..tag2的操作,有没有办法在存储库B中得到相同的结果?
我希望使用类似于--repo的参数来指定要从中查找标记的存储库。我找到的唯一解决方案是将存储库A完全克隆到存储库B中以允许访问标记,但这并不理想。
编辑:为了更清楚起见,repo B包含一个共享的Github Actions工作流,我希望能够在其中运行一个命令来访问给定repo的两个标记之间的提交历史,在本例中,repo A。它的结构是这样的,因为有其他repo使用相同的工作流(repo C,D等)。

pieyvz9o

pieyvz9o1#

Git是100%本地的,所以没有本地repo你什么都做不了。
除非仓库非常大,否则你可以简单地 checkout 完整的历史记录,然后对它运行git命令。
如果重用其他存储库中的工作流,则所调用工作流中的任何操作都将作为调用方工作流的一部分运行。例如,如果所调用工作流使用操作/ checkout ,则该操作将 checkout 托管调用方工作流(而非所调用工作流)的存储库的内容。

- uses: actions/checkout@v3
  with:
    fetch-depth: 0

使用git clone -n --filter=blob:none可以保存一些磁盘空间,只克隆提交,而不克隆文件。它实际上不需要下载任何东西。
否则,您可以使用Github API,但这会更复杂。

相关问题