我怎么能使一个新的commit和创建一个新的消息,如果没有改变文件?
commit
这是不可能的,因为提交的代码(SHA ?)将是相同的?
很少有好的理由这样做,但是对于空提交(没有更改文件),参数为--allow-empty,而对于空提交消息,参数为--allow-empty-message。你也可以通过输入git help commit或访问在线文档来阅读更多内容。
--allow-empty
--allow-empty-message
git help commit
虽然树对象(它有自己的散列)将是相同的,但提交实际上会有不同的散列,因为它可能会有不同的时间戳和消息,并且肯定会有不同的父提交。所有这三个因素都集成到git的对象哈希算法中。
git
你可能想要一个空提交(包含一些注释)的一些原因:
gitolite
向提交树中添加元数据的其他策略包括:
git notes
如果我没理解错的话,你想做一个空洞的承诺。在这种情况下,你需要:
git commit --allow-empty
也许作为一个更明智的选择,你可以创建一个注释标签(一个带有消息的命名提交)。参见git tag -a选项。
git tag -a
如果你使用的是像gitversion这样的系统,执行这种类型的提交是很有意义的。你可以使用+semver: major注释来提交主版本。
使用消息空提交
git commit --allow-empty -m "Empty test commit"
使用空消息进行空提交
git commit --allow-empty --allow-empty-message