我想克隆一个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(应该已经是默认值)在具有775权限的目录中创建的repo同样的事情.推送到github后,git clone获得了相同的结果.
这不是一个大问题,我可以在我的结帐脚本中chmod.但是如果有正确的/内置的方法来做到这一点,那就更好了. Git是Ubuntu 11.04上的1.7.4.1版本.
任何想法或链接都表示赞赏.我看到this post,but it uses chmod,我还没有找到其他的东西.谢谢!
解决方法
尝试仅为clone命令设置全局“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/