繁体   English   中英

拉动时让Git使用正确的所有者组名称

[英]Making Git use the correct owner group names when doing a pull

我已经在生产和登台服务器上设置了Git,并且运行良好,但是在登台服务器上执行git pull时,它似乎将组所有者名称设置为我在SSH下登录的用户,该用户是root

无论如何,无需以该特定用户身份登录即可将组名设置为其他名称?

您可以在根密钥下添加所需用户的密钥。

由于身份验证是通过ssh完成的,因此您不能将其“伪造”为其他用户。 (假设您没有尝试破解系统)。

这就是使用SSH的目的-验证发起该操作的用户。


参考以上建议执行chmod答案:

如果您将执行chmod,并且您已经设置了模式标志,那么它也可以作为更改进行跟踪。

git config core.fileMode false

core.fileMode
如果为false ,则索引和工作副本之间的可执行位差异将被忽略; 在FAT等损坏的文件系统上很有用。
默认为True


git ssh

在此处详细了解其工作原理

我看到两种解决方案:

  1. 以流程用户身份执行命令(这是最合理的更改)。 su theprocessuser -s /bin/bash -c 'cd /some/dir && git pull
  2. 在“ git pull”之后执行chown并将所有内容嵌入部署脚本中

以更一般的方式,您应该看看Ansible,Fabric或类似的有用工具。 以更一般的方式,您绝对不应使用root用户执行操作任务。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM