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

多人共同开发维护一个项目时,对整个项目文件互有拉取、推送等行为。为防止操作时文件权限出现冲突,可有以下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
//已启用后配置
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值