参考资料
目录
- [一. 获取`Personal access tokens`](#一. 获取
Personal access tokens) - [二. 凭证保存](#二. 凭证保存)
-
- [2.1 `store`](#2.1
store) - [2.2 `manager`](#2.2
manager) - [2.3 `cache`](#2.3
cache)
- [2.1 `store`](#2.1
- [三. 凭据管理](#三. 凭据管理)
-
- [3.1 查看当前凭据保存的方式](#3.1 查看当前凭据保存的方式)
- [3.2 禁用用户的凭证](#3.2 禁用用户的凭证)
- [四. `Personal access tokens`添加到url中使用](#四.
Personal access tokens添加到url中使用)
一. 获取Personal access tokens
Github

GitLab

二. 凭证保存
🔷Git保存凭证一共有如下三种方式
| 配置 | 凭证保存位置 | 安全性 |
|---|---|---|
store |
~/.git-credentials |
⚠️ 明文 |
manager |
Windows 凭据管理器 | ✅ 更安全 |
cache |
内存缓存 | ✅ 退出/过期后消失 |
2.1 store
- 将凭证明文保存到
~/.git-credentials中 - 第一次clone项目的时候,会提示输入账号和密码
- 需要注意的是,输入的密码并不是账户的登录密码
- 而是发行的
Personal access tokens
bash
PS [FENGYEHONG-HP] 03-Test $ git config --global credential.helper store
PS [FENGYEHONG-HP] 03-Test $
PS [FENGYEHONG-HP] 03-Test $ git clone http://172.22.125.148/test/ci_cd_test.git
Cloning into 'ci_cd_test'...
Username for 'http://172.22.125.148': apluser
Password for 'http://apluser@172.22.125.148':
remote: Enumerating objects: 37, done.
remote: Counting objects: 100% (37/37), done.
remote: Compressing objects: 100% (23/23), done.
remote: Total 37 (delta 2), reused 0 (delta 0), pack-reused 0 (from 0)
Receiving objects: 100% (37/37), 11.36 KiB | 342.00 KiB/s, done.
Resolving deltas: 100% (2/2), done.
PS [FENGYEHONG-HP] 03-Test $
- 可以看到
Personal access tokens的凭证被明文写入凭证文件中 - 然后对仓库进行代码拉取好提交时,就都不需要输入账号和密码了

2.2 manager
git config --global credential.helper manager- 通过Git的凭证管理器,将凭证信息保存到Windows凭据管理器中,相对更加安全。
git clone http://apluser@172.22.125.148/test/ci_cd_test.git:在url中加入用户名,可以无需输入用户名

- 相关配置也会被保存到
.gitconfig中

2.3 cache
- 将凭证临时保存到内存中,退出或者过期之后,凭证就会消失
bash
git config --global credential.helper cache
三. 凭据管理
3.1 查看当前凭据保存的方式
bash
PS [FENGYEHONG-HP] Desktop $ git config --global credential.helper
manager
PS [FENGYEHONG-HP] Desktop $
3.2 禁用用户的凭证
bash
git config --global --unset credential.helper
四. Personal access tokens添加到url中使用
💥Personal access tokens💥直接暴露到url中,安全性比保存到~/.git-credentials还要低,只适合临时使用。
bash
# clone代码时指定【Personal access tokens】
git clone http://oauth2:【Personal access tokens】@172.22.125.148/test/ci_cd_test.git
# 当项目clone本地后,修改远端的url
git remote set-url origin http://oauth2:【Personal access tokens】@172.22.125.148/test/ci_cd_test.git
- 如下图所示,
Personal access tokens直接暴露到url中,安全性超低。
