Git 远程仓库默认权限问题的解决

论坛 期权论坛 编程之家     
选择匿名的用户   2021-6-2 20:45   1467   0

多人共同开发维护一个项目时,对整个项目文件互有拉取、推送等行为。为防止操作时文件权限出现冲突,可有以下2种方法解决:

1. 本地git的远端设置中,连接远程仓库时多人使用同一个用户名,该用户名为git远程仓库的拥有者

2. 不同开发者需使用不同的用户名连接时,会出现文件权限冲突,这是因为 git 仓库使用的是对象存储,每次改动会新增若干对象文件(具体对象文件在 /.git/objects 下),而新增的对象文件权限属性由系统控制,默认为755,即非文件拥有着无法进行写入(推送)。这里需要将 git 仓库下文件的默认权限设置为同组用户均可读写执行。具体方法是:

在初始化仓库时的语法:

git init --bare --shared[=(false|true|umask|group|all|world|everybody|0xxx)]

如果仓库已经启用,在远程仓库目录下更改 git 配置的语法:

git config core.sharedRepository [(false|true|umask|group|all|world|everybody|0xxx)]

实践:因本人需要设置该仓库下所有新生成的对象文件的默认权限为770,即拥有者和同组用户拥有读写执行权限,代码如下:

git init --bare --shared=0770
//初始化仓库时
git config core.sharedRepository 0770
//已启用后配置

转载于:https://www.cnblogs.com/irjeff/p/10009578.html

分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:3875789
帖子:775174
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP