出于某种原因,当我最初为我的git项目从存储库中提取时, 我的工作副本中有大量的文件,它们没有明显的更改,但一直出现在我的非阶段性更改区域中。
我在Windows xp上使用Git Gui,当我去看文件,看看有什么改变。 我看到的是:
old mode 100755
new mode 100644
有人知道这是什么意思吗?
如何将这些文件从未分级更改列表中删除?(为了挑出我最近编辑过并想提交的文件,不得不浏览100个文件,这很烦人)。
出于某种原因,当我最初为我的git项目从存储库中提取时, 我的工作副本中有大量的文件,它们没有明显的更改,但一直出现在我的非阶段性更改区域中。
我在Windows xp上使用Git Gui,当我去看文件,看看有什么改变。 我看到的是:
old mode 100755
new mode 100644
有人知道这是什么意思吗?
如何将这些文件从未分级更改列表中删除?(为了挑出我最近编辑过并想提交的文件,不得不浏览100个文件,这很烦人)。
当前回答
这招对我很管用:
git ls-files -m | xargs -L 1 chmod 644
其他回答
你可以试试 git重置-硬头 将回购重置为预期的默认状态。
设置的核心。Filemode设为false可以工作,但要确保~/中的设置。Gitconfig不会被.git/config中的那些覆盖。
似乎您更改了目录的一些权限。我执行以下步骤来恢复它。
$ git diff > backup-diff.txt ### in case you have some other code changes
$ git checkout .
我也遇到过同样的问题。这救了我的命:
这将把所有权限还原为差异,这样您就什么都没有了,只剩下您对文件所做的更改。
https://gist.github.com/jtdp/5443498
git diff -p -R --no-color \
| grep -E "^(diff|(old|new) mode)" --color=never \
| git apply
详情见https://stackoverflow.com/a/4408378/450383
对我来说,这看起来像unix文件权限模式(755=rwxr-xr-x, 644=rw-r——r——)-旧模式包括+x(可执行)标志,新模式没有。
这个msysgit问题的回复建议设置核心。Filemode为false,以摆脱这个问题:
git config core.filemode false