【发布时间】:2014-10-23 07:29:51
【问题描述】:
我想知道是否可以为每个 克隆 git 存储库设置服务器用户和组。
例如,如果存储库在目录中:
/home/example/domains/example.com/public_html/
用户将是 example,组也将是 example。但是当我通过终端 clone 或 pull(以 root 身份登录)时,文件将被保存为 root:root 而不是 示例:示例。
在每次添加新文件时不必chown来防止这种情况发生的最佳方法是什么。
那么应该怎么办?
- 转到另一个用户
cd /home/example/的目录,输入ls -all可以看到,该目录中的所有文件都归用户示例和组示例所有。 - 转到 git 存储库或创建一个,在此示例中,我在
/home/example/domains/example.com/public_html/创建了一个。 - 在那里再次执行ls命令,你会注意到用户和组等于root:root,但我不希望它应该是example:example。
一个简单但手动的解决方案是。
chown -R example:example /home/example/domains/example.com/public_html/
只有我在寻找更动态的东西,它还必须与所有其他 git 命令(如 pull)一起使用,因为当您将新提交从存储库拉到本地时,它将归 root:root 所有。
【问题讨论】: