我想知道是否有一个git命令来查看特定提交是否在当前工作树中。我有特定提交的shasign。我想知道这个提交是否是另一个工作树中的另一个用户提交的,或者它的提交是否比我工作树的当前HEAD更新。
我想这样做的原因是,因为我们设置了Jenkins服务器,并且定期完成构建,但我想测试最新版本以查看它是否与我的HEAD相同,或者它是否更旧提交,或者如果它是由其他人完成的提交。
答案 0 :(得分:2)
我认为“在当前工作树中”你必须意味着“在HEAD的历史中”。
要执行您描述的测试,给定SHA1sum S
,您可以执行以下操作:
S
是否与HEAD
相同,请将git rev-parse --verify S
与git rev-parse --verify HEAD
进行比较HEAD
历史记录中的提交,您可以将git merge-base S HEAD
与git rev-parse --verify S
进行比较。如果它们相同,则S
是HEAD
的祖先。git show -s --pretty='%an <%ae>' HEAD
和git show -s --pretty='%an <%ae>' S