我已经回顾了一堆有用的东西,但仍然不清楚如何做我需要的东西 (How do i change file ownership after git commit; How to keep git from changing file ownership; Making git push respect permissions?; Retaining file permissions with Git)
鉴于已经过去了很长时间,现在有一个简单明了的解决方案吗?
你做什么?
尝试:
- windows dev环境下的代码/测试(XAMPP)
- 创建/管理不同的代码版本(GIT)
- 将代码版本推送到WAMP服务器(GIT)上的远程仓库...
- 检查从repo到dev和/或进入实时环境(GIT)的不同版本
到目前为止,很明显--GIT的核心用例,几乎每个人都需要这样做吗?
但复杂性:
- 为了实际在实时环境中运行(这是一点点),文件和权限需要是正确的
- 代码分布在htdocs(主站点),symlink目录(最终用户可访问的内容,如图形等)和非用户可访问的源代码(保存在www root之上)
- 这些不同的区域需要不同的用户所有权 - >不同的权限
问题:所有引用的问题以一种或另一种形式标识:
- Git用所有者覆盖文件所有权:运行git命令的用户组,并搞乱实际运行应用程序所需的权限
理想解决方案:
- 理解/维护目标环境需要哪些所有权设置和权限的工具,例如,在目录的基础上:目录A中的文件应该具有ownerA,groupB和权限xyzxyzxyz,并且能够在git混乱之后重新应用它们
到目前为止考虑:
选项1:in-Git功能或标志设置允许这样做。
- NO:' git不是部署工具'
选项2:使用git-cache-meta存储文件设置,然后再次应用文件设置。
- NO:文件来自没有Unix类型权限的Windows开发环境,因此无法处理传入权限
方案3:使用(根本没有文件记录且仅限于专家)的甲烷核苷酸
- 不:从我能理解的,与选项2相同的问题
选项4:使用一整套额外的工具(例如Deployer,Gitolite)进行查找,研究和实验,这些工具似乎旨在执行各种其他工作,可能会也可能不会执行我要求的工作
- 可能:但是,如果是这样的话:哪一个可以做到这一点?你用什么?什么是简单/易于实现?
选项5:在相关目录上设置组ID以强制组#39;所有权
- 否:这不会帮助所有者'或权限
答案 0 :(得分:0)