当修改某些其他文件时,将自动生成此特定(*.hpp
)文件(例如,附加)。我使用Python脚本生成此文件。
我不希望随时手动编辑此文件。
我的假设是,如果我提交并将特定文件作为只读文件推送,然后将其检索回来,它仍然是只读的。可悲的是,并非如此,因为Git不记得文件模式。
有没有办法确保从存储库克隆项目的那一刻,这个特定的文件将变为只读?我不确定是否可以使用挂钩。
我正在使用最新版本的Tortoise Git。
答案 0 :(得分:0)
git没有跟踪文件权限。你可以把它添加到.gitignore
echo "generated.hpp" >> .gitignore
如果您没有.gitignore
将此新文件添加到存储库。
答案 1 :(得分:0)
编写一个简单的控制台程序,使该文件成为只读文件。称之为您自己的过滤器MyReadOnly
。
仅对该存储库使用此类内容:git config filter.indent.smudge MyReadOnly
答案 2 :(得分:0)
Git无法做到这一点。
当您克隆存储库时,您在远程存储库上设置的挂钩不会与克隆的存储库一起下载,因此用户必须在克隆后手动添加挂钩。
你最好的选择是:
提醒用户该文件是自动生成的,以减少用户修改文件的机会。在文件名中明确说明,例如MyFile.autogenerated.hpp
并在文件顶部添加一个大评论,其中包含#34;请勿编辑 - 自动生成"警告
在持续集成服务器上运行检查以再次自动生成文件,并与Git中的文件进行比较,如果发现任何差异,则无法进行构建。