由于某种原因,当我最初从存储库中为我的git项目拉动时,我在我的工作副本中有大量文件没有对它们做出明显的更改,但一直显示在我的unstaged changes
区域。如何从Git中的暂时更改中删除说明“旧模式100755新模式100644”的文件?
我在Windows XP上使用Git Gui,以及当我去查看文件以查看发生了什么变化。 我看到的全部是:
old mode 100755
new mode 100644
有没有人知道这意味着什么?
我该如何将这些文件从我的非暂存更改列表中取出? (非常讨厌必须通过100个文件,只是为了挑选出我最近编辑并希望提交的文件)。
+1。这意味着git认为它可以正确设置已签出文件上的可执行位,但是当它尝试这样做时,它不起作用(或者至少不能以其可读的方式)。然后,当它读回这些文件的状态时,它看起来像可执行位被故意取消设置。将core.filemode设置为false可以让git忽略文件系统上任何可执行的位更改,因此它不会将其视为更改。如果你确实需要执行一次可执行的位更改,这意味着你必须手动执行'git update-index --chmod =(+ | - )x'。 –
2009-08-11 06:49:42
如果和我一样,模式更改很重要,可以将core.filemode设置为false,提交实际的代码更改,然后将core.filemode设置为true,git将保留文件更改。 – 2009-09-26 18:48:23
我有同样的问题,但它是由于通过SSH git cmd行使用相同的git repro,并通过Git扩展在Windows映射的驱动器! 。 。解决方案是相同的,添加到“配置”[核心] filemode = false – 2010-03-18 09:07:48