我需要'触摸'(我认为)我的git repo中的所有文件(很多文件),这样运行git status时它们就会显示为已修改(然后我可以添加并提交它们)。我需要这样做是因为我们的内部工具使用git commit中的文件来生成报告...这是我被要求做的在posix环境中,我想我可以直接接触一个目录,然后从那里进入。
vsmadaxz1#
我认为这是不可能的,因为如果文件的内容改变了,git会检测到文件的改变。触摸文件将不会有任何影响(即使在unix上)。也许改变文件的权限可能是一个非常肮脏的解决方案,但我甚至不确定,这是如果你找到一个新的权限,不引入一些坏的副作用!更好的解决方案是更新您的报告工具。而被迫提交所有文件的更改来欺骗您的工具并弄脏您的历史记录在我看来是一个非常糟糕的主意...
flseospp2#
如果你被要求“生成一个包含所有文件的报告”,这是否意味着在一次提交中列出所有文件?因为这很容易用git ls-tree -R HEAD这样的东西来完成
git ls-tree -R HEAD
vyswwuz23#
我有一个demo repo,里面有一堆文件,有我不想在demo中显示的提交消息-需要明确的是,repo是“垃圾”,因为它基本上只是一个文件转储来演示文件夹结构。话虽如此,您可以执行此操作的一种方法是
这将显示所有文件都已更改。出于我的目的,我随后也提交了该更改,并将其推到我的演示repo中。
3条答案
按热度按时间vsmadaxz1#
我认为这是不可能的,因为如果文件的内容改变了,git会检测到文件的改变。触摸文件将不会有任何影响(即使在unix上)。
也许改变文件的权限可能是一个非常肮脏的解决方案,但我甚至不确定,这是如果你找到一个新的权限,不引入一些坏的副作用!
更好的解决方案是更新您的报告工具。而被迫提交所有文件的更改来欺骗您的工具并弄脏您的历史记录在我看来是一个非常糟糕的主意...
flseospp2#
如果你被要求“生成一个包含所有文件的报告”,这是否意味着在一次提交中列出所有文件?因为这很容易用
git ls-tree -R HEAD
这样的东西来完成vyswwuz23#
我有一个demo repo,里面有一堆文件,有我不想在demo中显示的提交消息-需要明确的是,repo是“垃圾”,因为它基本上只是一个文件转储来演示文件夹结构。
话虽如此,您可以执行此操作的一种方法是
这将显示所有文件都已更改。出于我的目的,我随后也提交了该更改,并将其推到我的演示repo中。