Git可以忽略具有相同内容但更新时间戳的文件

Koa*_*ung 13 git

我在最近的网络项目中使用FTP.我尝试使用git来保存FTP上所有更改的本地备份.似乎FTP服务器无法支持MFMT命令(或其他一些我错了),下载的文件不保留其时间戳.

当我使用新下载的文件执行git diff时,Git会将每个文件标记为已更改.

无论如何,我可以告诉Git基于diff结果而不是时间戳提交?

man*_*lds 9

Git只看到文件的内容以确定它是否被更改.如果内容相同,则不关心时间戳.确保内容确实没有任何变化,包括行结尾.如果是,请尝试autocrlf根据您的操作系统设置正确的配置

  • 这有点误导。为了优化,git diff 使用各种“技巧”来确定文件是否脏,并且在文件未更改时可能会误报为脏文件。git faq 甚至有一个问题:“为什么‘git diff’有时会列出一个没有更改的文件?” https://git.wiki.kernel.org/index.php/GitFaq (2认同)

nea*_*eal 5

另一种可能性是文件权限被更改为FTP进程的副作用。具有相同内容但不同权限的文件被Git视为已修改。

如果要在不同的操作系统之间移动文件,则尤其可能发生这种情况。我遇到了使用USB记忆棒在OS X和Windows之间移动文件的问题。