【发布时间】:2016-01-10 03:42:47
【问题描述】:
“How can I add an empty directory to a Git repository?”的答案是你不能通过常规的 git 命令,因为暂存只有文件,没有文件夹。
另一方面,提交确实有文件夹,因此可以想象提交可能有一个空文件夹。
如何使用空文件夹创建提交?提交删除空文件夹怎么样?我可以在其他更改之上添加空文件夹(通过暂存区域进行)吗?
注意:这是提交可以包含文件夹的证据:
$ git cat-file -p 6c07af3
tree 3d6e2028b57fba5cd2c5f1f01cdd5be9814335ec
author *** 1452398070 -0500
committer *** 1452398070 -0500
A commit
$ git cat-file -p 3d6e20
100644 blob e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 file1
040000 tree e4af7700f8c091d18cc15f39c184490125fb0d17 folder
请注意,它存储哪些是文件,哪些是文件夹,以及文件和文件夹名称。我想要做的是创建我自己的 git commit 对象,而不经过暂存过程。
【问题讨论】:
-
注意:提问者对任何回答尝试投反对票
-
那个问题包含一个答案stackoverflow.com/a/8944077/1256452,这是你能得到的最接近的答案:你可以使用半秘密空树作为常规树中的条目。不过,请注意答案中的所有警告;简短的版本是“不要这样做”。
-
@codeWizard 虽然我很高兴对这个问题感兴趣,但到目前为止所有的答案都是错误的,投票反映了这一点。
-
你不必接受答案,但要感谢那些试图帮助你的人。
-
@codeWizard 再次感谢您的关注。否决票并不意味着我不喜欢你或任何东西,只是我不同意这个答案。如果您认为这是正确的,请说服我。
标签: git git-commit