如题,因为压缩包把文件时间修改了,所以大部分文件并没有修改但却显示修改(只因为修改了时间),请问如何让 git 忽略文件时间修改?
如题,因为压缩包把文件时间修改了,所以大部分文件并没有修改但却显示修改(只因为修改了时间),请问如何让 git 忽略文件时间修改?
|
1
git 并不存文件时间吧… 你这是解压缩的时候文件的 mode 变了?
|
|
geelawDec 31, 2017
2
git 本来就不看文件的修改时间。
但如果你改变了压缩包里面的文件的修改时间,则压缩文件本身是变化了的,git 没办法知道怎么忽略这个变化。 |
|
3
@geelaw 不是压缩包,而是解压的解压出的文件修改日期改变了,请问这样有什么办法解决吗?
|
|
msg7086Dec 31, 2017
4
git 天生就忽略文件修改时间,不知道你要解决什么。
17:48:52 msg7086@DESKTOP-Yuuki:/l/tmp/a$ git init Initialized empty Git repository in /l/tmp/a/.git/ 17:48:55 msg7086@DESKTOP-Yuuki:/l/tmp/a$ echo test > test 17:49:24 msg7086@DESKTOP-Yuuki:/l/tmp/a$ git add test 17:49:46 msg7086@DESKTOP-Yuuki:/l/tmp/a$ git commit -m initial\ commit [master (root-commit) f14ee74] initial commit 1 file changed, 1 insertion(+) create mode 100644 test 17:49:51 msg7086@DESKTOP-Yuuki:/l/tmp/a$ git status On branch master nothing to commit, working tree clean 17:49:55 msg7086@DESKTOP-Yuuki:/l/tmp/a$ touch test 17:50:01 msg7086@DESKTOP-Yuuki:/l/tmp/a$ git status On branch master nothing to commit, working tree clean 17:50:05 msg7086@DESKTOP-Yuuki:/l/tmp/a$ git commit -m file\ change\ commit On branch master nothing to commit, working tree clean 17:50:15 msg7086@DESKTOP-Yuuki:/l/tmp/a$ |
|
5
|
|
mYYnSmiTEQWcCwArDec 31, 2017
6
\r\n 与\n 的换行方式区别?
Google "git 忽略换行方式" |
|
owt5008137Dec 31, 2017 via Android
7
有可能变的是文件编码,或者换行符,或者 BOM
|
|
8
我用 SourceTree,切分支之类的情况就会出现很多文件显示被修改。
解决办法是直接点击暂存所有,未修改的文件就消失了。 |
|
msg7086Jan 1, 2018
9
换行符,BOM,文件 mode,都有可能。
从你的操作过程来看,换行符的可能性最大,提交签出时本地用 CRLF,而 tarball 里用 LF,导致 git 认为文件改变。 把所有文件 Stage 一下,让 git 自己做一遍 CRLF 转换,应该就会恢复到正常状态了。 |
|
10
@publicccc 正解,谢谢你们!
|