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

时间:2013-02-15 03:45:40

标签: git

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

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

无论如何我可以根据差异结果而不是时间戳告诉Git提交吗?

3 个答案:

答案 0 :(得分:9)

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

答案 1 :(得分:5)

另一种可能性是文件权限因FTP进程的副作用而发生了变化。 Git会将具有相同内容但权限不同的文件视为已修改。

如果您在不同的操作系统之间移动文件,则尤其如此。我曾经遇到过使用USB记忆棒在OS X和Windows之间移动文件的问题。

答案 2 :(得分:0)

我遇到了同样的问题(Windows 8.1 Enterprise,git版本1.8.4.msysgit.0)。我无法拉,因为有7个文件被修改,虽然二进制(包括lineendings)相同。 还原没有帮助。 将报告为修改的第一个文件的时间戳更改为修订时(在TotalCommander中,精度为1秒)使得拉动工作。 存储库是由旧磁盘上的filecopy创建的。我还创建了几个原始存储库的克隆,还有其他文件“不同”。

希望这可以帮助其他人解决这个问题。这可能是Turtoise的一个问题。

BTW:首先测试线路,因为这是一个更常见的问题。