2012-01-03 42 views
8

我注意到,当您在Windows环境中使用Git提交或签出文件时,文件属性不会保留(例如隐藏或只读)。如果我提交一个隐藏的文件,然后在另一台计算机上查看它,则该文件不再隐藏。是否有可能让Git识别Windows文件属性?Git在Windows和文件属性

谢谢。

回答

9

否。Git不会跟踪完整的UNIX权限,它只是为了方便而记住可执行位。至于为什么 - 这是一个版本控制系统,旨在主要跟踪源代码。这使得该功能彻底无用(更不用说'隐藏'属性也是无用的)。

+0

好的,谢谢你的明确答案。我的项目中有几个隐藏和只读文件,但如有必要,我会手动更改它们。 – StockBreak 2012-01-03 16:25:03

+0

我也想这个功能,它不是“彻头彻尾的无用”。例如,Unity游戏开发环境创建了一个sidecar“.meta”文件来管理它的场景数据库。这些文件需要修改,但没有人需要查看它们。 – yoyo 2012-01-23 18:38:37

+0

我也觉得这很有用。我使用Visual Studio中的node/grunt/bower工具链进行开发,并将node_modules和bower_components文件夹设置为隐藏,停止VS对索引和搜索(甚至显示)解决方案资源管理器中的VS,这对于顺利开发非常重要。 – Daniel 2014-09-29 07:05:39

9

您可以使用post-checkout客户端挂钩进行所需的任何更改。在你的情况下,你会用它来运行一个脚本来设置你想要的Windows文件属性。

ProGit在 “其他客户端挂钩” 的段落描述了这个概括:

Customizing Git Hooks

另请参阅githooks手册页。

+0

谢谢,我会看看这本书! – StockBreak 2012-01-03 16:27:23

+0

@wadesworld你能提供一个关于windows钩子的例子吗? – checksum 2013-12-26 17:56:18