是否有一个“问题”;git touch“;所以我可以用新的时间戳推送同一个文件?

是否有一个“问题”;git touch“;所以我可以用新的时间戳推送同一个文件?,git,timestamp,Git,Timestamp,我有一个自动构建工具,它在输出中使用文件的修改日期。有没有一种方法可以“git touch”文件并将其保存到git,而无需实际修改文件?git可以处理内容哈希,因此它不会看到您的更改,我怀疑它是否具有该功能。我建议您将当前日期回显到该文件中,而不是依赖修改后的日期 作为一个sideonote,依赖修改日期会给您带来更多的问题,因为机器之间的本地时间可能不同。我认为如果您使用的是unix操作系统,您需要的是touch命令 但是,如果您使用--allowempty选项,Git可以允许您执行空提交 例

我有一个自动构建工具,它在输出中使用文件的修改日期。有没有一种方法可以“git touch”文件并将其保存到git,而无需实际修改文件?

git可以处理内容哈希,因此它不会看到您的更改,我怀疑它是否具有该功能。我建议您将当前日期回显到该文件中,而不是依赖修改后的日期


作为一个sideonote,依赖修改日期会给您带来更多的问题,因为机器之间的本地时间可能不同。

我认为如果您使用的是
unix
操作系统,您需要的是
touch
命令

但是,如果您使用
--allowempty
选项,Git可以允许您执行空提交


例如,
$git commit--allow empty-m“Trigger notification”
将导致一个空的提交,然后您可以推送它并进行另一次部署。

这将更新上次提交的哈希和时间戳,而不需要任何更改或消息对话框

git commit --amend --no-edit

git
甚至不跟踪文件时间戳,除了提交时间戳,所以答案将是否定的。感谢你的回答,我不介意本地时间问题,因为唯一真正重要的是构建机器看到什么,“我也只是在寻找事情被修改的那一天。这将改写历史,需要一个强力推动。”大卫说。当然,您不应该尝试更改已推送提交的哈希值。为了更改上次提交的时间戳(和哈希值),
git commit--amend--no edit
没有更改上次提交的日期,但是
git commit--amend--reset author--no edit
没有更改上次提交的日期。有关详细信息,请在
man git commit
:--与-C/-C/--amend选项一起使用时重置作者,或者在冲突的cherry pick之后提交时,声明生成的提交的作者现在属于提交者。这也会更新作者时间戳。为了更改旧提交的时间戳,这非常有用: