在使用Git管理代码项目的过程中,经常需要使用到git clone命令来克隆远程仓库到本地。有时候会碰到克隆远程仓库需要输入密码才能进行的情况。本文将会介绍如何解决这个问题。

git clone 需要密码

1、使用ssh方式克隆

使用ssh方式克隆远程仓库,需要在本地生成一对公私密钥对,并将公钥添加到GitLab或GitHub的Deploy Keys中,这样就不需要每次进行操作时都输入密码了。

1.1 生成SSH Key

在本地终端中执行以下命令以生成SSH Key:

 
ssh-keygen -t rsa -C "your_email@example.com"
Bash
Copy

其中,-t rsa表示使用RSA算法生成密钥,-C “your_email@example.com”是对生成的密钥进行标记,方便辨认。

接着,系统会提示你输入存储密钥的文件名和密码,按需填写即可。如果不需要使用密码,可以直接回车。

密钥生成成功后,终端回显出生成的SSH Key的信息,其中包含公钥和私钥的路径。

1.2 将公钥添加到Git服务器中

在这里我们以GitHub为例,将生成的公钥添加到GitHub的Deploy Keys中。

登陆到GitHub账号中,在右上角的头像处点击Settings,进入个人设置页面。找到SSH and GPG keys,点击New SSH key添加公钥。

Title中填写一个有意义的名称,如:My SSH Key。把刚才生成的公钥内容,复制到Key这一栏中,然后点击Add SSH key,完成添加。

 

 

此时,我们已经将公钥添加到了GitHub的Deploy Keys中,下次再使用git clone命令克隆项目时,就不需要再输入密码了。

1.3 使用ssh方式克隆远程仓库

使用ssh方式克隆远程仓库的命令格式如下:

git clone git@github.com:username/repo.git
Bash
Copy

其中,git@github.com是协议和服务器地址,username是GitHub账号的用户名,repo.git是远程仓库的名称。

2、使用https方式克隆

HTTPS方式克隆远程仓库需要每次进行操作时都输入密码。但是,使用HTTPS方式会更容易使用,因为大多数情况下,不需要配置SSH Key和远程仓库。

2.1 使用git clone外带用户名和密码

在每次克隆远程仓库时,通过git clone命令,后面跟上用户名和密码即可。

git clone https://username:password@github.com/username/repo.git
Bash
Copy

其中,username是GitHub账号的用户名,password是GitHub账号的密码或者Personal Access Token。

 

2.2 使用git credential存储认证信息

将认证信息使用git credential store存储,即可避免每次输入用户名和密码。

  • 在终端中执行以下命令,设置作为存储机制的用户在本地的全局变量:
git config --global credential.helper store
Bash
Copy
  • 以后当你克隆、push等操作,会提示输入用户名、密码,完毕后每次都会将这些账户信息保存到~/.git-credential文件中。

这样,下次再执行相应操作时,Git就会自动读取本地的认证信息,而不用再次输入用户名和密码。

结论

在使用Git进行开发时,可以通过生成SSH Key,将公钥添加到仓库的Deploy Keys中,或者使用HTTPS方式并配合git credential store存储认证信息的方法,克服git clone需要密码的问题。这样就可以更加方便地克隆远程仓库,提高工作效率,节省时间和精力。

git clone 需要密码的更多相关文章

  1. git clone 带用户名密码的形式但包含@等特殊符号无法正常解析

    正常使用git clone 的方式 git clone https://remote 使用带用户名密码的方式(可以避免后续每次都要输入用户名密码) git clone https://[usernam ...

  2. git clone 带用户名密码

    git使用用户名密码clone的方式: git clone http://username:password@remote eg: username:  abc@qq.com, pwd: test, ...

  3. git clone直接提交用户名和密码

    git使用用户名密码clone的方式: git clone http://username:password@remote 例如:我的用户名是abc@qq.com,密码是abc123456,git地址 ...

  4. git clone 提示输入git@xxx的密码

    如下: suse:~/ecox # git clone git@vcs.in.ww-it.cn:ecox/ecox.git 正克隆到 'ecox'... git@vcs.in.ww-it.cn's p ...

  5. 避免git clone和push时每次都需要输入用户名和密码

    有三种方式解决git clone时每次都需要输入用户名和密码, 1. SSH免密方式 使用git bash ssh-keygen或puttygen.exe生成公钥. 2. 配置全局开机存储认证信息 下 ...

  6. git clone 使用用户名和密码

    git clone http://邮箱(或用户名):密码@仓库 示例: 邮箱 xw@qq.com 密码: xw 仓库: http://git.test.com/abc/demo 注意: 邮箱中的 @ ...

  7. 【Gitlab】git clone http连接,带用户名和密码

    test项目在gitlab的http请求的url: http://gitlab.com/test.git 用以下方式请求不需要再输入用户名和密码 git clone  http://username: ...

  8. git clone带用户名和密码的方式

    git clone http://username:password@127.0.0.1/res/res.git

  9. linux下每次git clone不需输入账号密码的方法

    在~/下, touch创建文件 .git-credentials, 用vim编辑此文件,输入内容格式: ame@zhenyun ~ $touch .git-credentials ame@zhenyu ...

  10. git clone时,报403错误,完美解决方案

    首先命令行操作结果如下: root@zhiren-PowerEdge-T110-II:/zrun# git clone https://git.coding.net/xxxxxxxx/xxxx.git ...

随机推荐

  1. iOS使用SourceTree回滚回滚小结

    代码回滚,适用于的场景: 1.提交错代码,想放弃刚刚提交的部分:2.代码发生冲突,处理比较麻烦,为了代码安全,直接回滚到之前干净的代码.我个人理解,可以分为本地回滚和远程回滚: 一.本地回滚,回滚自己 ...

  2. vue2 + webpack 分析报告 report == webpack-bundle-analyzer

    packjson.js 配置 "build-report":"vue-cli-service build --report", 执行 : npm run bui ...

  3. Vue中mixins(混入)的介绍和使用

    为什么引进 mixins 随着项目的开发,组件越来越多 ,这就导致了在各个组件中需要编写功能相同的代码段,重复地定义这些相同的属性和方法,导致代码地冗余,还不利于后期代码的维护 混入mixins 的创 ...

  4. K-Means(聚类算法)【转载】

    聚类##### 今天说聚类,但是必须要先理解聚类和分类的区别,很多业务人员在日常分析时候不是很严谨,混为一谈,其实二者有本质的区别. 分类其实是从特定的数据中挖掘模式,作出判断的过程.比如Gmail邮 ...

  5. SaaS多租户的3种隔离模式

    大家好,我是汤师爷~ 在SaaS模式下,多租户之间的资源隔离是基础且关键的一环.SaaS服务商需要在确保运营效率和控制成本的前提下,搭建一个让多个租户能够同时访问的共享环境. 虽然大家都在用同一套Sa ...

  6. Oracle-表分析和索引分析解读

    概述当表没有做分析的时候,Oracle 会使用动态采样来收集统计信息. 获取准确的段对象(表,表分区,索引等)的分析数据,是CBO存在的基石,CBO的机制就是收集尽可能多的对象信息和系统信息,通过对这 ...

  7. java通过SSE实现消息推送

    一.什么是SSE 严格地说,HTTP 协议无法做到服务器主动推送信息.但是,有一种变通方法,就是服务器向客户端声明,接下来要发送的是流信息(streaming). 也就是说,发送的不是一次性的数据包, ...

  8. 使用switch语句的注意事项

    目录 case后需要手动break switch内的变量定义 变量没有定义在语句块内 变量定义在语句块内 表述多情况时不能用逗号 case后需要手动break switch(i){ case 1: 语 ...

  9. 11.Kubernetes控制器Controller详解

    Kubernetes控制器Controller详解 Statefulset Statefulset主要是用来部署有状态应用 对于StatefulSet中的Pod,每个Pod挂载自己独立的存储,如果一个 ...

  10. 1.TP6的入门-安装

    打开官网,找到这里点击手册 或者直接访问 这里 可以看到TP6已经有了赞助商 然后往后面阅读,发现他推荐我们读这个 这个入门必读还是不错的,简单的看看就行 后面就开始安装吧 首先注意自己的环境php版 ...