是否可以使用git pull在命令中输入用户名和密码, 避免输入密码信息。 例如
git pull -u ahmeditman -p 123456 #this example to explain .
可以使用
git pull http://ahmeditmna:123456@xxxxx.git
但是它将从Master Branch中拉出,但是如果我需要从dev Branch中拉出呢?
答案 0 :(得分:2)
可以使用
git pull http://ahmeditmna:123456@xxxxx.git
我认为您的意思是git clone http://ahmeditmna:123456@xxxxx.git
从技术上讲,是的。 http://username:password@domain/path
是HTTP(S)协议的有效URL一部分。
但是那是安全的还是应该这样做?不。
首先,最好使用HTTPS,如果您要从公共存储库中推送/提取数据,这将不是问题,因为数据已经是公共的,但是如果它是私有存储库,则攻击者可以读取您的数据。
但是更重要的是,任何有权访问您的存储库副本的人都可以读取您的凭据。只需尝试一下(我为该示例选择了第一个与Python相关的存储库。):
cd /tmp/
git clone 'https://username:password@bitbucket.org/mshibly/python-examples-from-intro-to-python-course.git'
cd python-examples-from-intro-to-python-course/
git remote -v
git remote -v
列出存储库的远程URL,让我们看看:
origin https://username:password@bitbucket.org/mshibly/python-examples-from-intro-to-python-course.git (fetch)
origin https://username:password@bitbucket.org/mshibly/python-examples-from-intro-to-python-course.git (push)
如您所见,您的凭据在这里,正在等待读取。
如果在服务器上使用它,那甚至更糟,因为根据常规配置,您可以在日志中找到凭据。更不用说您可能会通过编写脚本并将凭据放进脚本中来提交和/或存储在其他人的服务器上的事实。
这里的重点是这样做的理由不充分,但是有很多理由不这样做。
否,这样做不行。 我建议您花一些时间来学习SSH的工作原理和配置操作系统。
答案 1 :(得分:1)
如果您将远程来源URL(git config remote.origin.url
)覆盖为http://ahmeditmna:123456@xxxxx.git
,例如:
git remote set-url origin http://ahmeditmna:123456@xxxxx.git
在不提示输入任何种类的分支密码的情况下,拉动即可工作。