我想按照我的Web服务器的版本控制中所述,通过在Web服务器上创建gitrepo来对[Web服务器进行版本控制/var/wwwdirectory。我希望我能够将Web内容从我们的开发服务器推送到github,再将其拉到我们的生产服务器,并在剩下的一天中度过。
/var/wwwdirectory
显然,我的计划中的一个缺点是Git不尊重文件权限(我还没有尝试过,仅现在就阅读它。)我想这很有意义,因为不同的盒子可能具有不同的用户/组设置。但是,如果我想强制传播权限,知道我的服务器配置相同,我是否有其他选择?还是有一种更简单的方法来实现我的目标?
将git-cache-meta在SO问题中提到“混帐-如何恢复混帐认为该文件是文件权限”(和git的FAQ)是更staightforward方法。
git-cache-meta
这个想法是在.git_cache_meta文件中存储文件和目录的权限。 它是一个单独的文件,未在Git存储库中直接进行版本控制。
.git_cache_meta
这就是为什么它的用法是:
$ git bundle create mybundle.bdl master; git-cache-meta --store $ scp mybundle.bdl .git_cache_meta machine2: #then on machine2: $ git init; git pull mybundle.bdl master; git-cache-meta --apply
那么你: