在Git中切换分支时文件权限重置

3

我在一个属于不同Linux用户的文件夹中创建了一个Git存储库。直到很久之后,我才设置了组写权限,以便我的用户可以对Git进行更改和提交。然而,每当我从一个分支切换到主分支时,所有组写权限都会丢失。

我尝试切换到主分支,并使用root用户使所有文件对我所在的组具有写入权限。但当我切换到其他分支时,所有组写权限都再次丢失。


1
仓库的位置有什么特殊之处吗?您是否考虑让这两个用户通过使用 git init --shared=group 创建的裸仓库进行协调? - Greg Bacon
2个回答

2
我认为这与git无关,git只是使用当前组和umask来检出文件,因此,如果你希望你的工作树属于特定的组并且可以被该组写入,你应该使用newgrp以登录所需的组,或递归地设置工作树的组和setgid位,并确保你的umask不包括组可写位(例如0002)。

0

Git 不跟踪权限(除了可执行标志)。因此,请确保您当前用户的 umask 设置为不从文件中删除组可写标志。它通常设置为 022,在您的情况下应该设置为 002。请参阅 man umask 以获取更多详细信息。


谢谢。我在进一步阅读后意识到 Git 不会干扰权限。感谢您提醒 umask,我相信这解决了我的权限问题。 - user205151

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接