故事就是这样......
我的团队在Windows文件服务器上有一个git repo。一个Windows人员设置了回购并开始提交。我,一个mac家伙,克隆到我的文件系统,做了一些提交,然后推回(实际上我去了回购并拉我的更改)。问题是现在我拥有了repo中文件的权限,即使我对我克隆了repo的文件夹中的每个人都有读/写权限,但repo不知何故对windows os采取了额外的权限限制,我的同事不能提交。
情景也可以反过来发挥作用。我设置了回购邮件,一个Windows用户搞砸了权限。
那么你们如何确保不同开发环境之间的权限保持一致?
答案 0 :(得分:1)
也许您可以尝试配置core.sharedRepository
:
core.sharedRepository
当group(或true)时,存储库可以在组中的多个用户之间共享(确保所有文件和对象都是可写组的)。
- 当所有用户(或世界或所有人),所有用户都可以读取存储库,此外还可以进行组共享。
- 当
umask
(或false)时,git将使用umask
(2)报告的权限。- 当
0xxx
,其中0xxx
是八进制数时,存储库中的文件将具有此模式值。0xxx
将覆盖用户的umask
值(而其他选项只会覆盖用户的umask值的请求部分)。
示例:0660
会使代理对所有者和群组具有可读/可写功能,但其他人无法访问(相当于群组,除非umask
为0022
)。
0640
是一个可读取组但不可写入组的存储库。请参阅git-init(1)。默认为。