gpt4 book ai didi

git - 如何在git中获取工作副本的树哈希?

转载 作者:行者123 更新时间:2023-12-04 12:41:27 30 4
gpt4 key购买 nike

使用 git,如何获取 git 目录当前状态的树哈希?也就是说,如果我运行 git add -A 后跟 git commit,提交的树哈希(不是提交哈希)会是什么?

最佳答案

Greg Bacon's method 容易一些:

  • 通过复制当前索引创建一个临时索引
  • 使用 git add -A 更新临时索引中的所有内容
  • 使用 git commit-tree 将临时索引变成实际的树

一个小的 shell 脚本(未经测试)就足够了:

#! /bin/sh -e
export GIT_INDEX_FILE=$(mktemp)
trap "rm -f $GIT_INDEX_FILE" 0 1 2 3 15
cp $(git rev-parse --git-dir)/index $GIT_INDEX_FILE
git add -A && git write-tree

复制当前索引的原因是,在使用临时索引时,可能会忽略(通过 .gitignore 或排除文件)当前跟踪(在常规索引中)的文件将被忽略索引,如果我们没有从真实索引中填充临时索引。

另见您自己的问题 How to get the tree hash of the index in git?

关于git - 如何在git中获取工作副本的树哈希?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58668967/

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