我正在尝试建立一个工作流程,其中我的代码库在 Git 下进行版本控制,然后通过 SSH 部署到实时服务器。
我编写了一个简单的 shell 脚本,从我的机器上运行该脚本,打开 SSH 连接,然后git pull
在远程服务器上执行。但是,由于这是在 下运行的root
(不要询问),因此 Git 创建/更新的所有文件和文件夹也被赋予了 用户/组root
,而不是apache
。
如何重新指定apache
这些文件/文件夹的用户/组?我需要改变我的工作流程吗,还是我可以在从 Git 拉出后运行chown
?chgrp
理想情况下,我只想修复我宁愿处理问题的地方,而不是治疗症状。
答案1
最好使用其他用户,而不是 root 用户。无论如何,使用su -c
或以正确的用户名sudo
运行git pull