我想克隆一个git项目(来自github,比方说),并让顶级目录可以按组写入。
我尝试了几件不同的事情。首先,只需在克隆之前设置umask。
$ umask
0002
我创建的文件可以按组写入
$ touch test
$ ls -l test
-rw-rw-r-- 1 user group 0 2012-05-17 09:32 test
现在我尝试git clone
$ git clone git@github.com:user/repo.git
Cloning into repo... [succeeds]
但是克隆目录不能由组写入。
$ ls -ld repo
drwxr-xr-x 11 user group 4096 2012-05-17 09:32 repo
我尝试使用git init --shared=umask
创建的repo(它应该已经是默认值)在具有775权限的目录中尝试相同的操作。推送到github后git clone
得到相同的结果。
这不是一个大问题,我可以在我的结帐脚本中使用chmod。但如果有正确/内置的方法来做到这一点,那就更好了。 Git是Ubuntu 11.04上的1.7.4.1版本。
任何想法或链接都表示赞赏。我看到this post, but it uses chmod,我在这方面找不到其他的东西。谢谢!
答案 0 :(得分:3)
尝试仅为克隆命令设置全局“core.sharedRepository = group”:
git -c "core.sharedRepository=group" clone git@github.com:user/repo.git
ls -ld repo/.git
drwxrwsr-x 8 user user 4096 Jul 4 22:16 repo/.git/
答案 1 :(得分:1)
这是由于一个错误,修复了git> = v1.7.11.3
请参阅: https://github.com/git/git/commit/45d4fdc2dc74c657a9c2e95bf04aed539fdcb0a4