git 免密码操作

通常在 github 或者 gitlab 下载代码时,使用 https 一般是最快捷的方法。但是坏处就是每次提交的时候都需要重复输入密码,本文主要记录几种免密克隆方法。

开始前请先配置全局名称和邮箱

git config --global user.name "yourname"

git config --global user.email "youremail@163.com"

使用第三方工具

很多第三方的 git 工具,不单止提供了便捷的 GUI,还会在你使用 http 克隆代码时帮你记住密码,非常方便。

此处仅推荐两款个人用过的工具sourcetreeGitKraken,都是多平台的。

SSH

最常用的方式,主要是把这几个命令记一下就好。

生成 ssh 公钥,打开命令行工具,输入以下指令,疯狂回车即可。其中xxx@xxx.com为任意字符串,仅作标识用,推荐使用邮箱。

ssh-keygen -t rsa -C  'xxx@xxx.com'

若有提示是否覆盖,输入 y 确认覆盖。

注意生成路径,根据路径找到 id_rsa.pub 文件打开复制即可。

例如在在 window 下路径是 C:\Users\username/.ssh/id_rsa.pub (注意替换自己的 username),直接在命令行中输入该命令获取

type C:\Users\username\.ssh\id_rsa.pub

在 mac 下输入以下命令获取

cat ~/.ssh/id_rsa.pub

将得到的 key 添加到 setting 页中的 ssh keys 中然后使用 ssh 链接 clone 即可。

Accesstoken

有时候 ssh 会因为网络问题导致鉴权失败,则使用该方式也是很方便的。

生成 token 的页面基本都在网站的 setting 页里,找到并获取就好了,记得把读写权限都勾上。

github 的入口比较深,可以参考这份文档:Creating a personal access token

获取 token 后手动拼装 url,再进行 clone 就可以免密操作了

https://oauth2: + _access_token_ + @gitxxx.com/username/xxx.git

github 示例

git clone https://oauth2:access_token@github.com/username/xxx.git

gitlab 示例

git clone https://oauth2:access_token@gitlab.com/username/xxx.git