我正在阅读关于git对象的内容:blob、tree、commit、tag。为了更好地理解git是如何工作的,我尝试了一些低级命令,例如
write-tree
和commit-tree
。
mkdir test; cd test
-->git init
- 创建一个文件并使用
git add file
。我可以看到在.git/objects
中生成了一个blob和tree对象。 git write-tree
打印当前treeID。git commit-tree treeID -m "commit a tree"
来提交这个tree。在此操作后,会生成一个commit对象,我可以看到它包含作者、日期等信息。然而,我无法使用git log
查看我的提交,错误是:fatal: bad default revision 'HEAD'
。
git status
时,我发现该文件仍位于索引中等待提交。commit-tree
的用途是什么?commit-tree
和`commit'之间有什么区别?