git拉取 权限不够,防止Git更改拉取权限

When I pull change from my repositories, Git change the file permissions (actually, he change the group write permission).

If I'm correct, Git should only track executable bit and this anyway can be removed using setting core.filemode to false.

But, although the filemode is set to false (in local, global and user), when I pull, write permission constantly change.

I could use a git-hooks in order to reset correct chmod, but this is some overhead and I'd prefer if there's a way to just ask git to completly ignore file mode change.

Anyone know how to achieve this ?

解决方案The solution turned out to be fairly straightforward.

In the file .git/config, I added a line that read: "sharedRepository = group", like so:

[core]

repositoryformatversion = 0

filemode = true

bare = false

logallrefupdates = true

sharedRepository = group

Thereafter, new files in .git/objects were created with the proper permissions for group write.

(However, note that new files are group-owned by the primary group of the user account via which the push was received. If the users collaborating on the project have different primary groups, and if those users do not share membership in that set of groups, you may still run into problems.)

Make sure of the value of your umask:

Example: 0660 will make the repo read/write-able for the owner and group, but inaccessible to others (equivalent to group unless umask is e.g. 0022).

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值