繁体   English   中英

触摸 git 存储库中的所有文件,因此 git 认为它们是更改

[英]Touch all files in a git repo so git thinks they are changes

我需要“触摸”(我认为)我的 git 存储库(很多文件)中的所有文件,以便运行 git 状态将使它们处于已修改状态(然后我可以添加并提交它们)。 我需要这样做,因为我们的内部工具使用来自 git 提交的文件来生成报告......我被要求这样做

在 posix 环境中,我想我可以从那里触摸一个目录和 go。

我认为这是不可能的,因为如果文件的内容发生更改,git 会检测到文件更改。 触摸文件将不起作用(即使在 unix 上)。

也许更改文件的权限可能是一个非常肮脏的解决方案,但我什至不确定这一点,如果您找到一个不会引入一些不良副作用的新权限!

更好的解决方案是更新您的报告工具。 并且必须对所有文件进行更改以欺骗您的工具并弄脏您的历史记录在我看来是一个非常糟糕的主意......

如果您被要求“生成包含所有文件的报告”,这是否意味着列出提交中的所有文件? 因为这很容易用git ls-tree -R HEAD类的东西完成

我有一个演示回购协议,其中包含一堆文件,其中包含我不想在演示中显示的提交消息 - 需要明确的是,回购协议是“垃圾”,因为它基本上只是文件转储演示文件夹结构。

话虽如此,您可以这样做的一种方法是

  • 在您的仓库中创建一个新的临时文件夹,例如“ez”
  • 将 repo 的所有文件移动到其中,ee "$ mv * ez"
  • 在本地提交,反向操作并再次将它们移出
  • "$ mv ez/*.; rmdir ez"

这将显示所有文件都已更改。 出于我的目的,我随后也提交了该更改,并将其推送到我的演示存储库。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM