git在http协议下拉取、推送(pull\push)代码免输入账号、密码的设置方法
背景
在Git项目的管理实践中,虽然直接使用HTTPS URL克隆代码到本地是一种普遍的做法,但SSH URL也因其独特优势而备受一些开发者的青睐。两者在操作上各有千秋,主要体现在用户体验和安全性上。
对于初学者而言,HTTPS URL克隆无疑更为直观和便捷。只需简单地复制URL,然后执行git clone命令,就能轻松地将远程仓库复制到本地。然而,这种方式的不足在于,每当进行代码拉取(fetch)或推送(push)时,都需要手动输入账号和密码,这无疑增加了操作的繁琐性。
相比之下,SSH URL克隆虽然在初次设置时稍显复杂,需要事先配置和添加SSH key,但它带来了更为流畅和安全的代码管理体验。一旦SSH key配置成功,用户在进行代码拉取或推送时,无需再输入任何账号和密码,极大地提升了操作效率。同时,SSH作为一种加密的网络传输协议,还能确保数据传输的安全性。
值得注意的是,要使用SSH URL克隆,用户通常需要具备对项目的访问权限。这并不意味着只有项目拥有者才能使用SSH方式,只要获得了相应的权限,任何开发者都可以利用SSH key进行代码管理。此外,虽然SSH默认在操作过程中无需输入账号和密码,但如果有特殊需求,用户也可以通过配置来实现每次操作时的账号密码验证。
下面就说下如何在http协议下,不用每次都输入账号密码的方法。
方法一:
通过生成credential配置
git config --global credential.helper store
查看.gitconfig文件,发现多了一行
[credential]
helper = store
方法二
修改仓库中.git/config文件
url = http://账号:密码@git.test.com.cn/root/xx.git
或者带着账号密码去克隆代码
git clone http://账号:密码@git.test.com.cn/root/xx.git
方法三
直接修改.gitconfig配置文件,加入password = xxx
window目录: C:\Users\Administrator/.gitconfig
linux目录: ~/.gitconfig
[user]
name = xxx
email = [email protected]
password = xxx
延伸操作
- 关闭https证书,去掉ssl认证
git config --global http.sslVerify false
- git ssh转http方式
git clone 拉取项目代码后,在项目目录下打开.git/config文件,将:
url = [email protected]/.../project.git
改为
url = http://xxx.com/.../project.git
文章评论