【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>>
出于某种原因,当我最初从存储库中获取我的git项目时,我在工作副本中获得了大量文件,这些文件没有对它们进行任何可识别的更改,但是仍然显示在我的未unstaged changes
区域中。
我在Windows XP上使用Git Gui,当我去查看文件时看看有什么变化。 我只看到:
old mode 100755
new mode 100644
有谁知道这意味着什么?
如何从我的未分级更改列表中获取这些文件? (非常讨厌必须通过100个文件,只是挑选我最近编辑过的文件并想要提交)。
#1楼
这看起来像我的unix文件权限模式( 755
= rwxr-xr-x
, 644
= rw-r--r--
) - 旧模式包含+ x(可执行)标志,新模式不包括。
这个msysgit问题的回复建议将core.filemode设置为false以解决问题:
git config core.filemode false
#2楼
您可以尝试使用git reset --hard HEAD将repo重置为预期的默认状态。
#3楼
将core.filemode
设置为false确实有效,但要确保~/.gitconfig
中的设置不会被.git/config
的设置覆盖。
#4楼
看来你已经改变了目录的一些权限。 我做了以下步骤来恢复它。
$ git diff > backup-diff.txt ### in case you have some other code changes
$ git checkout .
#5楼
我只有一个带有更改权限的麻烦文件。 要单独回滚,我只需用rm <file>
手动删除它,然后进行结帐以获取新的副本。
幸运的是我还没有上演。
如果我有,我可以在运行git checkout -- <file>
之前运行git checkout -- <file>
git reset -- <file>
git checkout -- <file>
来源:oschina
链接:https://my.oschina.net/stackoom/blog/3147873