为什么github在何时在/ var / www / html中git push文件时询问用户名和密码?

时间:2018-10-07 06:55:06

标签: git passwords username

我在.netrc中设置了用户名和密码。

cat .netrc
machine github.com  
    login  myname  
    password mypassword   

1.git在/ tmp目录中推送文件。
在github的网页中为此推送创建一个新的仓库test-tmp

sudo cp  -R /var/www/html/cal  /tmp    
sudo chown -R  debian.debian  /tmp/cal    
cd  /tmp/cal    
git init  
git add  * 
git commit -m "Add file"    
git remote add origin https://github.com/gitsnippet/test-tmp.git       
git push origin master  

Github不询问用户名和密码,git push成功。

2.git在/ var / www / html / cal目录中推送文件
在github的网页中为此推送创建一个新的仓库test-var
注意:对于/ var / www / html中的文件,所有sudo都不能省略,而没有sudo的git命令会导致诸如error: could not lock config file /var/www/html/cal/.git/config: Permission denied之类的错误。

sudo git init
sudo git add  *
sudo git commit -m "Add file"
sudo git remote add origin https://github.com/gitsnippet/test-var.git
sudo git push origin master 

现在github将询问用户名和密码:

Username for 'https://github.com': xxxx
Password for 'https://gitsnippet@github.com': xxxx

在/ var / www / html中git push文件时,如何使githtb在.netrc中读取用户名和密码?

2 个答案:

答案 0 :(得分:0)

sudo进行推送意味着:

  • 另一种git config设置:选中sudo git config credential.helper(与git config credential.helper相比)
  • 另一个$HOME(其中sudo ls〜/ .netrc可能不存在)

确保两个环境中都存在这些资源(git config.netrc)。

答案 1 :(得分:0)

sudo cp  $HOME/.netrc   /root/.netrc