如果文件的内容保持不变,则使git忽略修改日期更改

Dmi*_*y M 15 git git-diff

我有python脚本生成和修改不同的xml文件.它们工作,以便打开文件,基于它创建ElementTree对象,尝试在必要时修改对象的内容,然后将这些对象保存到原始文件中.

问题是,有时它们甚至不会改变文件的内容.但是文件的修改日期会发生变化.

另一方面,Git将这些文件视为"已更改",因为它注意到修改日期已更改.虽然它不会产生差异(显然).

citool表现得很疯狂(警告日期已经改变,但文件本身没有,尝试重新扫描它们并再次将它们显示为"已修改")

我没有权限修改那些python脚本,因此不能重写它们(它们存储并经常在单独的repo中修改).有没有办法告诉git忽略特定文件夹的修改日期更改?看到几十个"已更改"的文件实际上只有其中一个被真正修改过,这只是非常讨厌.

我知道我可以暂存所有文件,然后取消它们,但是我需要省略一些额外的操作.有时它只会干扰正常的git工作流程.

更新: git citool错误读取(引用):"未检测到差异.<file>没有更改.此文件的修改日期已由另一个应用程序更新,但文件中的内容未更改.重新扫描将自动启动找到可能具有相同状态的其他文件."

然后重新扫描后,所有伪修改的文件再次出现.

git status还将这些文件显示为"已修改"

Ant*_*vin 21

您可以git add对所有受影响的文件执行操作,然后停止将其显示为已修改git status(如果没有更改,则实际上不会将它们暂存以进行提交).至少那对我有用(我正在使用git 2.8.1).


cho*_*oba 2

Git 不报告修改时间的变化。

$ git init
Initialized empty Git repository in /home/choroba/...
$ echo > a
$ git add a
$ git commit -m init
[master (root-commit) d686390] init
 1 file changed, 1 insertion(+)
 create mode 100644 a
$ touch -m a
$ git status
On branch master
nothing to commit, working directory clean
Run Code Online (Sandbox Code Playgroud)

  • 但在本例中确实如此。它字面上告诉我“文件修改时间已更改,但文件未更改,正在重新扫描...”,然后在重新扫描后再次重复 (6认同)
  • 我已经更新了 git 但问题仍然存在。我已经用错误消息中的确切引用更新了问题 (3认同)