我已经在我们的生产和登台服务器上设置了 Git,它运行良好,但是在git pull
登台服务器上进行操作时,它似乎将组所有者名称设置为我在SSH下登录的用户,即root。
有没有办法让它将组名设置为另一个名称,而不必以该特定用户身份登录?
我已经在我们的生产和登台服务器上设置了 Git,它运行良好,但是在git pull
登台服务器上进行操作时,它似乎将组所有者名称设置为我在SSH下登录的用户,即root。
有没有办法让它将组名设置为另一个名称,而不必以该特定用户身份登录?
您可以在根密钥下添加所需用户的密钥。
由于身份验证是通过 ssh 完成的,因此您不能将其“伪装”为不同的用户。(假设您没有试图破解系统)。
这就是使用 SSH 的重点——验证发起操作的人。
chmod
:如果您将执行 chmod,则如果您设置了模式标志,也可以将其跟踪为更改。
git config core.fileMode false
core.fileMode
如果false
,则忽略索引和工作副本之间的可执行位差异;在 FAT 等损坏的文件系统上很有用。
默认情况下为真。
git ssh
在此处阅读有关其工作原理的更多信息
我看到两个解决方案:
su theprocessuser -s /bin/bash -c 'cd /some/dir && git pull
chown
并将所有内容嵌入到部署脚本中更一般地说,你应该看看 Ansible、Fabric 或类似的有用工具。以更一般的方式,您绝对不应该使用 root 用户来执行操作任务。