赞
踩
在windows下编辑某个项目代码时,编辑到一半,需要切换到另一个分支,直接转换会提示当前工作区还有已修改的文件尚未commit,但是当前更改的内容尚未完整,所以还不想commit到仓库中。所以就使用了git stash save命令将当前工作区缓存后,才能切换到其他分支。
但是在checkout回到自己分支使用git stash apply时。发现不能将stash中的内容恢复,报错显示有文件已modified,即使使用girl restore xxx也没办法将文件的modified状态消除。
git restore
命令将文件恢复到上次提交的内容,但是发现没有什么用,文件还是处于modified状态git restore example/example.py
git diff --summary
对比modified文件到底发生了什么变化$ git diff --summary
mode change 100755 => 100644 example/example.py
git diff --summary | grep --color 'mode change 100755 => 100644' | cut -d' ' -f7- | tr '\n' '\0' | xargs -0 chmod +x
git config --list
才发现,config中有一条filemode配置项,该配置项被设置为了true
状态$ git config --list
...
core.filemode=true
...
false
, 文件的modified状态消失了。git config core.filemode false
--global
选项git config --global core.filemode false
git diff --summary
查看文件具体发生了什么改变git config core.filemode false
;如果需要全局生效,则git config --global core.filemode false
git config core.filename false
; 因LF/CRLF原因导致的需要配置git config core.autocrlf false
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。