我有一个项目,我必须chmod在开发过程中将文件模式更改为777,但不应在主回购中更改.
Git选择chmod -R 777 .并将所有文件标记为已更改.有没有办法让Git忽略对文件进行的模式更改?
我chmod在我的实时服务器上运行了几个.现在,当我在git diff那里做的时候,我看到很多old mode 100644 new mode 100755
我还在那里更改了一些文件.但我只是git diff只是为了显示文件的变化,忽略了文件权限的变化.
我怎样才能做到这一点?顺便说一句,我不希望GIT忽略那些文件权限的变化.实际上我想提交它们,我只是想让git diff在一个非常具体的时刻不显示它们.
看来Git无视 ~/.gitconfig
$ git config --global core.filemode false
$ git config -l
core.filemode=false
core.filemode=true
Run Code Online (Sandbox Code Playgroud)
所以现在有2个条目core.filemode,git仍然没有忽略filemode的变化
$ touch modetest
$ git add .
$ git commit -m test1
[master (root-commit) 320cfe4] test1
0 files changed, 0 insertions(+), 0 deletions(-)
create mode 100644 modetest
$ chmod +x modetest
$ git diff
diff --git a/modetest b/modetest
old mode 100644
new mode 100755
Run Code Online (Sandbox Code Playgroud)
根据torek的回答,我将这一行添加到了我的.bash_profile
[ -d .git ] && git config core.filemode false
Run Code Online (Sandbox Code Playgroud) 有没有办法忽略Mercurial存储库的文件权限/模式(chmod)更改?
我正在寻找类似于Git的设置:
core.filemode -> false
Run Code Online (Sandbox Code Playgroud)
更新:正确答案是Ry4an和我对他答案的第二个评论.