使用Git保留文件权限
我想按照我的Web服务器的版本控制中所述,通过在Web服务器上创建gitrepo来对[Web服务器进行版本控制/var/wwwdirectory
。我希望我能够将Web内容从我们的开发服务器推送到github,再将其拉到我们的生产服务器,并在剩下的一天中度过。
显然,我的计划中的一个缺点是Git不尊重文件权限(我还没有尝试过,仅现在就阅读它。)我想这很有意义,因为不同的盒子可能具有不同的用户/组设置。但是,如果我想强制传播权限,知道我的服务器配置相同,我是否有其他选择?还是有一种更简单的方法来实现我的目标?
回答:
将git-cache-meta
在SO问题中提到“混帐-如何恢复混帐认为该文件是文件权限”(和git的FAQ)是更staightforward方法。
这个想法是在.git_cache_meta
文件中存储文件和目录的权限。
它是一个单独的文件,未在Git存储库中直接进行版本控制。
这就是为什么它的用法是:
$ 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
那么你:
- 捆绑您的仓库,并保存相关的文件权限。
- 将这两个文件复制到远程服务器上
- 在此处恢复仓库,并申请许可
以上是 使用Git保留文件权限 的全部内容, 来源链接: utcz.com/qa/419476.html