我的工作计算机上有一个git存储库,笔记本电脑上有一个克隆。我设定git config receive.denyCurrentBranch
为updateInstead
。这样,我可以从笔记本电脑推送到我的工作计算机,并且git自动更新我的工作目录中的本地文件。
我的工作计算机使用NFS文件系统,默认情况下,组中的每个人都具有读取权限。
在笔记本电脑上,我将遥控器配置为 username@computer:/home/path/to/git
我的大学使用 /path/to/home
每当我推送到这个非裸露的存储库时,.git文件夹(.git/refs/heads/master
,.git/objects/...
)中的更新文件都会获得我的读取权限,但不会获得该组的读取权限。默认情况下,在推送之前,他们还具有该组的读取权限。
这样,我的大学就无法从我的资源库中获取奇怪的错误消息。
是否可以更改某些设置以更改此行为?这是预期的行为吗?还是除了向git开发人员提交错误/功能请求外,没有其他解决方案吗?
远程URLusername@computer:/home/path/to/git
表示您使用SSH,而不是NFS。您需要umask
在服务器端进行配置。尝试/home/username/.bash_profile
在工作计算机上对其进行编辑。
还建议您设置
git config core.sharedRepository 0640
在共享存储库中git
使用此固定名称umask
而不是用户的umask
。
参见https://git-scm.com/docs/git-config#git-config-coresharedRepository
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句