我们应该使用sudo进行git操作吗?

时间:2017-07-09 21:55:12

标签: linux git

以下两个命令行之间有什么区别?

root@superhero:~/Workspace/# sudo git push origin master
Permission denied (publickey).
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.


root@superhero:~/Workspace/# git push origin master
Everything up-to-date

2 个答案:

答案 0 :(得分:2)

使用sudo会使命令以root用户身份运行。 Git命令使用存储在当前用户主目录中的凭据和配置;当您以sudo运行时,此代码将查看root主目录,而不是您的主目录,从而错过此上下文。

在大多数情况下,没有必要使用sudo。很少有需要它的情况(例如全局安装软件,例如使用apt-get),当涉及编程时,使用sudo通常但不总是反模式(按顺序)为了确保源代码是密封的和可重现的,大多数软件应该安装在存储库中,而不是全局安装。

答案 1 :(得分:1)

在命令中使用sudo时。这是执行命令的root用户。用于访问git服务器的密钥存储在目录(.ssh /)中。在root中运行命令时。该目录是root的'.ssh /',所以不是好的。

另一点,使用sudo,这是来自sudo组的用户执行命令。因此,sudo组无法访问your.ssh