我想知道是否可以为每个克隆的git 存储库设置服务器用户和组。
例如,如果存储库位于目录中:
/home/example/domains/example.com/public_html/
比用户是例子,组也是例子。但是当我通过终端克隆或拉取(以 root 身份登录)时,文件将保存为root:root而不是example:example。
什么是防止这种情况发生的最佳方法,而不必每次添加新文件时都使用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 所有。