我有一个应用程序的存储库,我正在处理这个应用程序,其中包括一个配置文件。目前,我使用.dist扩展名进行分发,并让用户在编辑文件之前重命名它。
nate:~/myAwesomeApp% git ls-files
.gitignore
README
config.dist
glorious_support_lib.p
bestProgramEvar.f90这很好,而且实际的配置被忽略了。
nate:~/myAwesomeApp% cat .gitignore
config不过,如果我能将配置文件以其实名分发并随时编辑,而忽略它,使新克隆的存储库副本具有“功能”发行版,并且不会被覆盖、失败或受到其他干扰,用户就不必担心通过意外的将其超机密配置细节推送或发布到互联网络上,这将是一个甜蜜的。
有办法这样做吗?让git保持在被克隆出的文件的单个原始版本附近,但之后会被忽略吗?
我敢肯定以前有人问过这个问题,但对我来说,我的google-fu失败了。把学校放在很深的地方所以。
发布于 2010-09-16 20:32:37
正如其他人指出的那样,在Git中没有神奇的解决办法。据我所知,其他版本控制系统也是如此。
钩子在这里也没有解决方案,如果它们这样工作,那将是一个严重的安全威胁-只要克隆一个回购,一个邪恶的代码可以在您的机器上执行。
但是要使用你的应用程序,用户除了用git克隆它之外,至少还要做一件事:运行你的应用程序。
if [ ! -e config ] ; then cp config.dist config ; fi,那么这就足够了。此外,您还应该在config.dist内部发出警告,说明您不应该修改该文件,而是复制该文件。https://stackoverflow.com/questions/3686270
复制相似问题