Git 将日食项目文件设置为只读



希望 git 配置中对此有一些设置...

我们的项目团队选择将 eclipse .project 和 .classpath 设置存储在 git 存储库中。 现在,忽略或不将这些文件存储在SCM中是好是坏 - 问题是当存储库在Windows下克隆任何以点"."开头的文件名被设置为系统文件时,使其成为只读,这会导致eclipse在尝试更新项目时出现错误。

无法写入文件:D:\git\SFP\framework\Auth_Server\.classpath。
D:\git\SFP_convert\framework\Auth_Server\.classpath (访问被拒绝)

那么,如何阻止 git 将以点"."开头的文件设置为系统/只读?

Git 不应该更改这些权限,并且 dotfiles 并不总是被视为只读的"系统文件"。
举个例子:大多数存储库中存在的.gitignore在克隆存储库时应该是完全可写的,即使在 Windows 上也是如此。

Git 只存储两个权限(755=rwxr.xr.x644=rw.r..r..)。

一种方法是确保使用 git config core.filemode false 在存储库中提交。

但是对于已包含具有不正确权限的文件的存储库,您需要使用具有正确 755 权限的相同文件进行新提交。
您可以使用反向修补程序或git-meta-cache


OP Jon报告说:

我们目前正在使用 msysgit 1.6.5。 升级以匹配服务器上的 git 版本(1.7.9)已解决此问题。

我还建议升级到最新版本(1.8.4 2013 年 9 月)

当我们将项目从系统复制到其他系统然后自动隐藏某些文件时,会出现此问题。您进入项目目录和此项目目录。某些文件夹和文件具有隐藏属性,因此取消选中所有文件和文件夹中的隐藏属性,现在导入项目。

相关内容

  • 没有找到相关文章