如何使git清理(或涂抹)修改本地存储库中的文件

如何使git清理(或涂抹)修改本地存储库中的文件,git,git-clean,Git,Git Clean,我使用git过滤器(特别是clean)对一些xml文件进行排序,然后再将它们签入存储库。但是,本地文件保持原样-即使是污迹过滤器也不会做任何事情(可能是因为它们尚未签出) 因此,例如,如果我们使用IDE进行差异,它将与磁盘上的文件进行比较,从而显示与实际提交到repo的内容不正确的差异 有没有办法强制git在提交时重新签出,以便本地文件镜像暂存区域中的内容?I以便强制再次签出索引 但是你也可以。你可以通过%F(%F?我忘了)将路径名传递给一个过滤器,这样你就可以将它的输出复制到一个临时文件中,并

我使用git过滤器(特别是clean)对一些xml文件进行排序,然后再将它们签入存储库。但是,本地文件保持原样-即使是污迹过滤器也不会做任何事情(可能是因为它们尚未签出)

因此,例如,如果我们使用IDE进行差异,它将与磁盘上的文件进行比较,从而显示与实际提交到repo的内容不正确的差异

有没有办法强制git在提交时重新签出,以便本地文件镜像暂存区域中的内容?

I以便强制再次签出索引


但是你也可以。

你可以通过
%F
%F
?我忘了)将路径名传递给一个过滤器,这样你就可以将它的输出复制到一个临时文件中,并在完成后替换原来的文件。要理解你在做什么和试图做什么有点困难。例如,使用
gitclean
对XML文件进行排序意味着什么?这没有什么意义。@CraigMcQueen我想他指的是由
filter
属性设置的内容过滤器的“clean”和“smudge”方向,而不是
git clean
command@jthill你是对的,我更新了问题以澄清这一点。我认为使用
%f
管道化输出的想法会奏效,为此,我将尝试使用
tee
。然而,我仍然在想,我是否在做一些不愉快的事情,或者是像git一样的事情——我是否应该遵循一种不同的范式?其他人如何处理通过UI工具生成的XML文件或其他基于文本的文件,这些文件可能会改变元素的顺序,从而难以相应地监控差异?还是使用XMLDiff工具?我找到了一些,但大部分似乎都有报酬。。