问题:
同一个文件被修改后,最后代码没有变(代码刚开始修改了,最后又删除还原了),文件变了,导致提交了一个空文件 git diff 提示 filemode 发生改变(old mode 100644、new mode 10075)
解决办法 :
原来是 filemode 的变化,文件 chmod 后其文件某些位是改变了的,如果严格的比较原文件和 chmod 后的文件,两者是有区别的,但是源代码通常只关心文本内容,因此 chmod
产生的变化应该忽略,所以需要在 git 中设置一下:
在 git 中切到源码的根目录下输入以下命令:
git config --add core.filemode false
这样你的所有的 git 库都会忽略 filemode 变更。
最后之前的提交需要重新处理。
git log (回滚到修改之前的 记录 找到 commit -id)
git reset --soft ----xxxxx (commit-id)
git add xxx
git commit
git push origin HEAD:refs/for/xxx (提交的分支)
之前的提交就 废弃掉。用最新的 提交去跟踪。
That’s all!