如何从Git中的非分段更改中删除说“旧模式100755新模式100644”的文件?

有些话、适合烂在心里 提交于 2019-12-26 21:41:12

【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>>

出于某种原因,当我最初从存储库中获取我的git项目时,我在工作副本中获得了大量文件,这些文件没有对它们进行任何可识别的更改,但是仍然显示在我的未unstaged changes区域中。

我在Windows XP上使用Git Gui,当我去查看文件时看看有什么变化。 我只看到:

old mode 100755  
new mode 100644  

有谁知道这意味着什么?

如何从我的未分级更改列表中获取这些文件? (非常讨厌必须通过100个文件,只是挑选我最近编辑过的文件并想要提交)。


#1楼

这看起来像我的unix文件权限模式( 755 = rwxr-xr-x644 = 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>

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!