我有一个git存储库,我与几个开发人员共享。我们经常做git pulls并推动它。不幸的是,每次我执行git pull时,更改的文件都会丢失组写入权限。我如何阻止git这样做?
我在Ubuntu 12.04 LTS上运行它。
共享仓库上的配置如下所示:
[core]
repositoryformatversion = 0
filemode = true
bare = true
sharedRepository = group
我还在其上运行了以下命令以尝试修复它
find repo.git -type d -exec chmod g+rws {} +
sudo chmod -R g+rw repo.git/objects
无论我最终得到755的文件夹和带有644的文件,当我分别想要775和664时。
答案 0 :(得分:2)
你可以在git钩子上做这样的事情:
#!/bin/sh
#
# .git/hooks/post-merge
sudo chmod -R g+rw *
在每次git pull之后调用它,而文件(.git / hooks / post-merge)必须是可执行的
答案 1 :(得分:1)
您应该使用core.sharedRepository=group
或core.sharedRepository=0664
设置。
参见例如http://criticallog.thornet.net/2010/01/07/sharing-your-git-repository/
答案 2 :(得分:0)
有问题的用户还需要将其umask设置为002。