gpt4 book ai didi

git - 如何使用浅表克隆获取正确的git rev-list计数?

转载 作者:行者123 更新时间:2023-12-03 03:45:50 36 4
gpt4 key购买 nike

我发现在gradle构建期间将git版本号添加到我的项目版本中是一个 super 聪明的主意,例如major.minor.commit。这是通过以下方式实现的

git rev-list --count HEAD

现在我正在使用gitlab ci,它仅获得最新的50次提交:
Fetching changes with git depth set to 50...

因此,我一直以50为最终版本。长话短说,如何使用浅git克隆获得正确的计数?

最佳答案

(请注意:这仅用于计算计数,而不是一个好主意。关于是否个好主意:请考虑一下,如果您有三份存储库副本,一个副本来自某个中心点,第二个副本是用户A的副本,会发生什么情况向哪个用户A添加一个提交,向哪个用户B添加一个提交,向哪个用户B添加一个提交。用户A的存储库中的计数是多少?在用户B的存储库中是什么?)

你不知道

Git无法查看其他存储库的提交(好,除非您使用git fetch,并且它们将Git的这些提交交给您的Git,以便您的Git可以填充到自己的存储库中-但是在那时,这些不是其他存储库的提交:它们现在是您的,或者更准确地说,现在就共享了)。
git rev-list命令枚举(或使用--count进行计数)在存储库中提交。因此,您需要一个足够深的存储库来计算您关心的所有提交,即所有提交回到根目录的提交。因此,请勿使用浅层存储库。

请注意,完整的存储库最初可能需要花费一些时间来设置,但是在那之后,上游的git fetch仅会为您带来新的提交,这通常最多需要几秒钟。

关于git - 如何使用浅表克隆获取正确的git rev-list计数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58329277/

36 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com