什么是在输出中具有“ tree”的git commit?

火炉

我的CI系统抱怨我的提交ID。我做了一个git show,输出如下所示:

$ git show --quiet 36133babfd594450bd499d82edd6160601c35dcb
tree 36133babfd594450bd499d82edd6160601c35dcb

.gitignore
Makefile.am
Pipfile
README.md
autest.sh
gold_tests/
include/
prepare_proxy_verifier.sh
proxy-verifier-version.txt
test-env-check.sh
tools/
unit_tests/

在使用git的那些年里,我从未见过像这样的提交。我习惯于git show显示以下内容:

$ git show --quiet HEAD
commit 7e0a85e3bdd716e91a6f28748a8e93350a7389b1
Author: Evan Zelkowitz <[email protected]>
Date:   Tue Mar 2 09:56:07 2021 -0700

    Add tscontdestroy when transaction is closed and pacing rate is reset (#7572)

请注意,它将说出提交者是谁,日期,并重复提交ID。以前的ID的git show不显示任何内容。

如果我在“ git show tree”上进行了任何搜索(可惜,请查看该输出-我还能搜索其他内容吗?)我没有得到任何有用的信息。“树”被解释为提交树,而不是与此输出相关的东西。

可以识别此输出的人可以向我解释一下吗?我在以下开源git存储库中看到了这一点:

https://github.com/apache/trafficserver


更新

克里斯·梅斯(Chris Maes)和米加(meagar)的回答(以及戴夫·弗鲁珀(Dev-vruper)的评论)为我提供了足够的背景信息来理解发生了什么。我最初是git fetch通过詹金斯盒子上的以下故障注意到此问题的

Caused by: hudson.plugins.git.GitException: Command "/usr/bin/git fetch --tags --progress http://192.168.3.1/mirror/trafficserver.git +refs/heads/*:refs/remotes/origin/*" returned status code 128:
stdout: 
stderr: error: Unable to find 36133babfd594450bd499d82edd6160601c35dcb under http://192.168.3.1/mirror/trafficserver.git
Cannot obtain needed tree 36133babfd594450bd499d82edd6160601c35dcb
while processing commit 46ab6ca5b97b2103d7977a0b36f4a7948ddf3e3e.
error: Fetch failed.

请注意,在处理commit时,46ab6ca5b97b2103d7977a0b36f4a7948ddf3e3e它很难获取36133babfd594450bd499d82edd6160601c35dcb前者是提交对象,后者是“树”对象。看起来本地存储库已因某种原因而损坏,以致无法再读取该提交中引用的树。删除回购和重新克隆解决了此问题。

有关git对象(树,blob,提交等)的详细信息,请参阅引用的Dev-vruper链接:http ://git-scm.com/book/en/v2/Git-Internals-Git-Objects

米加尔

树不是提交,而是文件层次结构。

提交包含一棵树,以及一个作者,提交者和时间戳,父级,以及可选的签名。

树是某个时间点文件系统的完整(跟踪)状态,但是正是通过链接到一个或多个先前的提交来提交历史的提交。

提交和树存储在支持所有Git的相同的内容可寻址文件系统中,并且git show可以描述任何一种对象的详细信息(以及其他几种对象)。

您可以使用来查看给定提交指向的树git show --format=raw <commit id>

$ git show --format=raw ba23d664991381fb34fc931883ecfd8a4dbef2b6 
commit ba23d664991381fb34fc931883ecfd8a4dbef2b6
tree c5b9b6101c76f664f0700253dcaebd55295de10f
parent 5a79dfbe81a8b155e260c6fa6c09f98a448d1cd7
author <redacted>
committer <redacted>

....

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章