我正在为我的公司开发团队设置GIT回购,我似乎遇到了一个有趣的问题。
通常会出现多个人必须在同一个分支上工作,所以当创建分支并推送到阶段时,其他开发人员将分支拉入其本地存储库并开始处理代码。但是,.git / logs / refs / heads中我们的登台服务器上的分支具有为用户和组设置的权限,用户将分支推送到我们的登台环境。
有没有办法在GIT中更改此默认行为?我们有一个用户组设置,当我们手动更改我们能够推送的分支上的组权限时,我宁愿不让cron作业一直在运行更改权限。
在此处的图片中,您可以看到两个已手动更改权限的repos,以及刚刚推送过的权限。
答案 0 :(得分:1)
这是由创建新文件的进程的凭据引起的,它们位于git存储库或工作副本中。如果push是通过SSH,则可以从SSH会话获取可能的凭据,如果推送自定义git协议,则可以通过git服务器进程获取,等等。
除非您是root用户,否则无法更改文件的所有者。但您可以使用the SGID bit on directories强制执行新创建的文件组。