linux – ‘git clone’尊重umask,顶级项目目录除外

我想克隆一个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/

相关文章

在Linux上编写运行C语言程序,经常会遇到程序崩溃、卡死等异...
git使用小结很多人可能和我一样,起初对git是一无所知的。我...
1. 操作系统环境、安装包准备 宿主机:Max OSX 10.10.5 虚拟...
因为业务系统需求,需要对web服务作nginx代理,在不断的尝试...
Linux模块机制浅析 Linux允许用户通过插入模块,实现干预内核...
一、Hadoop HA的Web页面访问 Hadoop开启HA后,会同时存在两个...