我在Codaset上有一个私有的git存储库。通常当我尝试在我的Windows机器上通过HTTPS克隆它时,它会询问我的用户名和密码。当我尝试在Ubuntu服务器上克隆它时,它从不要求我输入用户名或密码,它失败并出现401错误。我需要做些什么不同的事情?
这是我正在做的事情:
git clone https://codaset.com/username/project_name.git destination_folder_name.git
答案 0 :(得分:16)
我使用这种格式让它工作:
https://username:password@codaset.com/username/project_name.git destination_folder
但是根据这两篇帖子,使用该方法可能是一个安全问题:
Can a username and password be sent safely over HTTPS via URL parameters?
答案 1 :(得分:12)
为了避免必须输入密码(在Windows或Unix上),您可以:
_netrc
文件:machine codaset.com login your_codaset_login password your_codaset_password
注意:Windows上为%HOME%\_netrc
,Unix上为$HOME/.netrc
这样,当你克隆你的回购时,而不是输入:
git clone https://username@codaset.com/username/project_name.git destination_folder_name.git
,您可以删除初始用户名:
git clone https://codaset.com/username/project_name.git destination_folder_name.git
您无需输入密码。
如果您不想在.netrc
文件中的纯文本中放置凭据(尤其是密码),则可以加密netrc
包含gpg
的文件:请参阅“Is there a way to skip password typing when using https:// github”
答案 2 :(得分:8)
你可以这样做:
git clone https://username@codaset.com/username/project_name.git destination_folder_name.git
提示输入密码。