使用git describe
您可以获取自上次标记以来提交的数量。如果您只有标签和提交数量,那么显示所描述的提交的最佳方式是什么?如何使用标签以来的提交数量来显示git提交
我知道你可以使用git log tag..
,并将它连接到一个脚本来进行计数,但我希望有一个类似于git show tag~n
的更优雅的解决方案。
要与
$ git describe
v1.5-39-g5ede964
我们将使用foo_1.5.39加入更多内容,我们使用git describe
创建版本号的规划,例如。我们想要做的是知道1.5.39意味着v1.5标签之后的第39次提交,找到提交,即找到g5ede964。正如在评论中指出的那样,v1.5之后的第39次提交可能不是唯一的。因此,或许一个更好的方法来问这是什么是找到所有提交X的最好方法,以便如果HEAD指向X git describe
将返回 v1.5-39-*****
。
你可以用'git show tag〜n'来显示该标签前的第n个提交。也许我误解了一些东西...... – knittl 2011-12-21 19:54:21
我相信从标签向前移动是不可能的。 git中的每个提交(除了最初的一个)都至少有一个父代,所以你可以通过提交向后退出。另一方面,这个带标签的提交(与任何其他提交一样)可能是多个提交的父对象,并且它没有任何对它的子对象的引用,所以你可以移动的唯一方法是从子对象到父对象,而不是相反方向。 – 2011-12-21 20:06:13
@ KL-7谢谢,这很有道理。我在关于我们想要实现的问题上添加了更多的上下文。根据你的观点,家长不参考儿童,我猜测没有办法做到这一点。在这种情况下,如果您将此作为答案添加,我会接受它。 – Joel 2011-12-22 10:40:09