有没有"git touch",所以我可以用新的时间戳推送同一个文件?

Dav*_*idG 16 git timestamp

我有一个自动构建工具,它使用输出中文件的修改日期.有没有办法"git touch"文件并将其保存到Git而无需实际修改文件?

abh*_*7in 40

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

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

例如.$ git commit --allow-empty -m "Trigger notification"会导致空提交,然后您可以推送并执行另一次部署.

  • 这解决了它,应该是最好的答案. (3认同)

com*_*m1x 10

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

git commit --amend --no-edit
Run Code Online (Sandbox Code Playgroud)

  • 为了更改上次提交的时间戳(和哈希),`git commit --amend --no-edit` 没有更改上次提交的日期,但 `git commit --amend --reset-author --no-edit` 做到了。有关更多信息,请参阅“man git commit”: --reset-author 当与 -C/-c/--amend 选项一起使用时,或者在冲突的cherry-pick之后提交时,声明结果提交的作者现在属于给提交者。这也更新了作者时间戳。 (4认同)
  • 这将改写历史,需要强力推动。 (3认同)

Srd*_*bor 6

Git适用于内容哈希,所以它不会看到你的变化,我怀疑它有这个功能.我建议您将当前日期回显到该文件中,而不是依赖于修改日期.

作为一个副手,依靠修改日期将导致更多问题,因为机器之间的本地时间可能不同.