如果没有对文件进行更改,我如何commit
创建新消息并创建新消息?
这是不可能的,因为提交的代码(SHA?)将是相同的?
这样做很少有充分的理由,但该参数--allow-empty
用于空提交(没有文件更改),与--allow-empty-message
空提交消息相反。您还可以通过键入git help commit
或访问在线文档来阅读更多内容。
虽然树对象(有自己的哈希)是相同的,但提交实际上会有不同的哈希,因为它可能有不同的时间戳和消息,并且肯定会有不同的父提交。所有这三个因素都集成到git
的对象哈希算法中。
有几个原因你可能想要一个空的提交(包含一些评论):
git
在不产生任意更改的情况下测试命令(通过Vaelus)。gitolite
使用(通过Tatsh )重新创建已删除的裸存储库。将元数据添加到提交树的其他策略包括:
带有消息的空提交
git commit --allow-empty -m "Empty test commit"
带有空消息的空提交
git commit --allow-empty --allow-empty-message
如果我理解正确,您想进行空提交。在这种情况下,您需要:
git commit --allow-empty
也许作为更明智的选择,您可以创建一个带注释的标签(带有消息的命名提交)。查看git tag -a
选项。
如果你使用的是像gitversion这样的系统,那么做这种提交是很有意义的。您可以有一个专门用于使用 +semver: 主要注释来提升主要版本的提交。