当前位置: 首页 > news >正文

git全局与单仓库的密码管理

概要

在使用git时,有默认的全局配置,每个仓库也有自己的配置,在使用时常常傻傻分不清楚,现在进行一个简单的整理记录。

一般情况下全局配置中的git账号和邮箱通常设置成自己的,其他仓库再根据项目需要进行单独配置,这样可以比较大程度的保证个人与工作能分的开。

有关全局配置和单独配置的的关系机制为:

  • 单仓库会继承全局配置中的所有配置项(可通过git命令、配置文件配置)
  • 单仓库可以覆盖全局配置中的单个配置项,在使用时优先使用仓库自己的配置项(可通过git命令、配置文件配置)
  • 有关密码的设定
    • git支持将密码进行持久化保存(指定时间、永久),保存在指定位置,加密或明文
    • 有些第三方软件,比如sourcetree则会将密码保存到自己指定的文件中

接下来演示一下,全局配置和单仓库的独有配置,以及如何灵活配置密码。

1 全局配置的查看、修改、删除

1.1 全局配置的查看

通过全局配置文件查看全局配置,在win下一般在C:\Users\你的用户名\.gitconfig文件中,而linux则一般在/etc/gitconfig

[user]name = xxxemail = xxx
[difftool "sourcetree"]cmd = '' \"$LOCAL\" \"$REMOTE\"
[mergetool "sourcetree"]cmd = "'' "trustExitCode = true

通过git命令查看全局配置

# git config --global --l
git config --global --listuser.name=xxx
user.email=xxx
difftool.sourcetree.cmd='' "$LOCAL" "$REMOTE"
mergetool.sourcetree.cmd=''
mergetool.sourcetree.trustexitcode=true

1.2 全局配置的修改

通过git命令进行修改

git config --global xxx.xxx xxx
git config --global xxx.xxx.xxx xxx
git config --global xxx.xxx.xxx.xxx xxx

在配置文件内显示为,可以发现是根据.进行分割,注意无法直接设置git config --global xxx xxx,必须要有层级才能设定:

[xxx]xxx = xxx
[xxx "xxx"]xxx = xxx
[xxx "xxx.xxx"]xxx = xxx

1.3 全局配置的删除

可以直接操作C:\Users\你的用户名\.gitconfig文件进行删除,也可以使用git命令进行删除:

git config --global --unset xxx.xxx.xxx.xxx xxx

2 单仓库配置的查看、修改、删除

单仓库的查看、修改、删除与全局的基本一致,只是配置文件位置不同、以及没有--global选项,单仓库的配置文件一般在在你的git仓库\.git\config文件中,这里就不一一演示单仓库配置的查看、修改、删除了,命令如下

# 查看
git config --list
# 修改
git config xxx.xxx xxx
# 删除
git config --unset xxx.xxx.xxx.xxx xxx

3 git凭证(也就是密码)存储模式

git是凭证通过credential.helper来配置密码存储的,有关credential.helper的配置大致有以下几项:cache模式store模式osxkeychain模式wincred模式manager模式

使用如下命令查看当前使用的是什么存储模式,也可以直接查看配置文件:

# 全局
git config --global credential.helper
# 单仓库
git config credential.helper

3.1 cache模式

cache模式:缓存模式,可以将密码缓存在内存中一段时间,默认15min,可以进行配置。

  • Linux:适用
  • windows:不适用,具体原因这里不展开讲解,网上说是因为git-credential-cache通过Unix套接字进行通信,所以不支持。

使用方式(也可以直接编辑配置文件,参考第一部分):

1.临时缓存(默认15分钟):

# 全局配置
git config --globale credential.helper cache
# 单仓库配置
git config credential.helper cache

2.自定义缓存时间(秒)

# 全局配置
git config --globale credential.helper 'cache --timeout=3600'
# 单仓库配置
git config credential.helper 'cache --timeout=3600'

3.2 store模式

  • store模式:永久存储。
    • Linux:则将密码以明文存放在~/.git-credentials文件中
    • windows:则将密码以明文存放在C:\Users\你的用户名\.git-credentials文件中

使用方式(也可以直接编辑配置文件,参考第一部分):

# 全局配置
git config --globale credential.helper store
# 单仓库配置
git config credential.helper store

执行git pull,然后输入正确的密码,打开C:\Users\你的用户名\.git-credentials文件查看:

https://你的用户名:你的密码@gitee.com

因为是明文存储,所以这种方式不是很建议。

3.3 osxkeychain模式

  • osxkeychain模式:永久存储,仅针对于Mac,位置是系统用户的钥匙串中,但是会加密。

没接触过mac,不展开讲解

3.4 wincred模式

  • wincred模式:永久存储。
    • Linux:不适用
    • windows:与store模式类似,将用户信息存储到Windows凭据中,不在存储在C:\Users\你的用户名\.git-credentials文件中,这样你就看不到明文密码了,懒人推荐。

使用方式(也可以直接编辑配置文件,参考第一部分):

# 全局配置
git config --globale credential.helper wincred
# 单仓库配置
git config credential.helper wincred

执行git pull,然后输入正确的密码,打开Windows凭据文件查看:

internet地址或网络地址:git:https://你的用户名@gitee.com
用户名:你的用户名
密码:⚪⚪⚪⚪⚪⚪

3.5 manager模式

  • manager模式:永久存储,将密码以加密形式存放在Windows凭据管理器中,并且永不过期,需要安装一个Git Credential Manager的辅助工具,windows中,推荐使用该模式。

首先安装Git Credential Manager的辅助工具,然后修改配置:

# 全局配置
git config --globale credential.helper manager
# 单仓库配置
git config credential.helper manager

执行git pull,然后输入正确的密码,打开Windows凭据文件查看:

Internet 地址或网络地址:git:https://gitee.com 
用户名:PersonalAccessToken

4 第三方软件(sourcetree)密码的存储

用过sourcetree的人都知道它有多好用,尽管我们不经常切换账号和修改密码,但是初始化仓库后输错密码或用户名(并非提交用户名,而是git的登陆账号)时想要修改还是很不方便的,那么该如何修改用户名和密码呢?

4.1 sourcetree修改登录的账号

sourcetree将用户名保存在了哪里呢?

答案是:C:\Users\你的用户\AppData\Local\Atlassian\SourceTree 目录下的userhosts文件,当你想删除或更新某个用户名时,来这里进行操作即可。

4.2 sourcetree修改登录的密码

那么sourcetree将密码保存到了哪里呢?

答案是:C:\Users\你的用户\AppData\Local\Atlassian\SourceTree\passwd,当你想删除或更新某个密码时,来这里进行操作即可。

相关文章:

git全局与单仓库的密码管理

概要 在使用git时,有默认的全局配置,每个仓库也有自己的配置,在使用时常常傻傻分不清楚,现在进行一个简单的整理记录。 一般情况下全局配置中的git账号和邮箱通常设置成自己的,其他仓库再根据项目需要进行单独配置&a…...

IDEA的使用(一) (IntelliJ IDEA 2022.1.3版本)

目录 1. IDEA项目结构 2. 模块的导入操作 2.1 正规操作 2.2 取巧操作 2.3 出现乱码 2.4 模块改名 3. 代码模板的使用 后缀补全(Postfix Completion)、实时模板(Live Templates)菜单里面什么介绍都有,可以自学&a…...

javaee SpringMVC文件上传 项目结构

引入依赖 <?xml version"1.0" encoding"UTF-8"?><project xmlns"http://maven.apache.org/POM/4.0.0" xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation"http://maven.apache.org/POM/4.0.0…...

JavaScript DOM 函数大全详解(使用最新的 JS 语法)

JavaScript DOM 函数大全详解&#xff08;使用最新的 JS 语法&#xff09; JavaScript 的 Document Object Model&#xff08;DOM&#xff09;是用于操作网页内容的编程接口。在最新的 JavaScript 语法下&#xff0c;我们有很多方便和高效的方法来处理 DOM。下面是一些常用 DO…...

Stm32_标准库_8_ADC_光敏传感器_测量具体光照强度

ADC简介 测量方式 采用二分法比较数据 IO通道 ADC基本结构及配置路线 获取数字变量需要用到用到光敏电阻的AO口&#xff0c;AO端口接在PA0引脚即可 测得的模拟数据与实际光照强度之间的关系为 光照强度 100 - 模拟量 / 40;代码&#xff1a; 完整朴素代码&#xff1a; #in…...

基于SSM的固定资产管理系统的设计与实现

末尾获取源码 开发语言&#xff1a;Java Java开发工具&#xff1a;JDK1.8 后端框架&#xff1a;SSM 前端&#xff1a;采用JSP技术开发 数据库&#xff1a;MySQL5.7和Navicat管理工具结合 服务器&#xff1a;Tomcat8.5 开发软件&#xff1a;IDEA / Eclipse 是否Maven项目&#x…...

Leetcode---364场周赛

题目列表 2864. 最大二进制奇数 2865. 美丽塔 I 2866. 美丽塔 II 2867. 统计树中的合法路径数目 一、最大二进制奇数 这题只要你对二进制有了解(学编程的不会不了解二进制吧)&#xff0c;应该问题不大&#xff0c;这题要求最大奇数&#xff0c;1.奇数&#xff1a;只要保证…...

使用 Powershell 检索不理解的命令

使用 Powershell 检索不理解的命令 尝试使用 Powershell 完成 Powershell 的命令行 使用 Powershell 时&#xff0c;有时您会忘记某个 cmdlet 或想要了解哪些 cmdlet 可用。在这种情况下&#xff0c;最好在互联网上查找&#xff0c;但您也可以使用 Powershell 函数来完成。 以…...

基于 FPGA 的机器博弈五子棋游戏

基于 FPGA 的机器博弈五子棋游戏 一,设计目的 五子棋是一种深受大众喜爱的游戏,其规则简单,变化多端,非常富有趣味性 和消遣性。棋类游戏在具备娱乐性、益智性的同时也因为其载体大多是手机, 电脑等移动互联网设备导致现代社会低头族等现象更加严重,危害青少年的身 体健康…...

uCOSIII实时操作系统 三 移植

目录 uCOSIII简介&#xff1a; 准备工作&#xff1a; 准备基础工程&#xff1a; UCOSIII工程源码&#xff1a; UCOSIII移植&#xff1a; 向基础工程中添加相应的文件夹 向工程中添加分组 常见问题&#xff1a; 下载验证&#xff1a; uCOSIII简介&#xff1a; UCOS-I…...

机器学习之SGD, Batch, and Mini Batch的简单介绍

文章目录 总述SGD(Stochastic Gradient Descent)(随机梯度下降&#xff09;Batch &#xff08;批量&#xff09;mini Batch (迷你批量&#xff09; 总述 SGD, Batch, and Mini Batch是可用于神经网络的监督学习计算权重更新的方案&#xff0c;即∆wij。 SGD(Stochastic Gradi…...

Windows电脑上的多开器与分布式存储系统的关系

Windows电脑上的多开器和分布式存储系统是两个不同的概念&#xff0c;二者之间没有直接的关系。 多开器是一种软件&#xff0c;它可以在Windows电脑上让用户同时运行多个同一应用程序的实例。多开器通常用于游戏玩家和应用程序测试人员等需要同时运行多个实例的用户。 分布式…...

积分球可以用于什么光谱光学检测

积分球是光测量的主要工具之一。积分球可以同时捕获一个光源发出的所有辐射。 1.光源测量 积分球可以用于测量光源的光通量、色温、光效等参数。通过将光源放置在积分球的入口处&#xff0c;球内的光线经过多次反射后形成均匀的照度分布&#xff0c;然后使用光度计或光谱仪对光…...

【力扣面试题】URL化

&#x1f451;专栏内容&#xff1a;力扣刷题⛪个人主页&#xff1a;子夜的星的主页&#x1f495;座右铭&#xff1a;前路未远&#xff0c;步履不停 目录 一、题目描述二、题目分析1、使用String内部方法2、使用StringBuilder 一、题目描述 题目链接&#xff1a;URL化 编写一种…...

计算机网络基础(二):物理层、数据链路层及网络层

一、物理层 1.物理层 物理层面的通信标准可以概括划分为与网络基础设施有关的标准和与被传输物理信号有关的标准两类。 网络基础设施的标准&#xff1a;鉴于物理层面的消息互通也是物理层应该兑现的服务&#xff0c;因此物理层的标准还会包括针脚的用途、线缆的材料与设计等…...

小白自学—网络安全(黑客技术)笔记

目录 一、自学网络安全学习的误区和陷阱 二、学习网络安全的一些前期准备 三、网络安全学习路线 四、学习资料的推荐 想自学网络安全&#xff08;黑客技术&#xff09;首先你得了解什么是网络安全&#xff01;什么是黑客&#xff01; 网络安全可以基于攻击和防御视角来分类…...

2.2.3 vim操作合集

1 vim VIM 是 Linux 系统上一款文本编辑器,学习 VIM 最好的文档,应该是阅读学习 VIM 的帮助文档,可以使用本地的帮助文件(vim--->:help),或者使用在线帮助文档。同时针对vim的使用,相应的相书籍也很多,如下 2 vim操作模式 命令模式:默认模式,该模式下可以移动光标…...

解决 Jenkins 性能缓慢的问题~转

解决 Jenkins 性能缓慢的问题 Docker中文社区 ​​ 计算机技术与软件专业技术资格持证人 2 人赞同了该文章 没有什么比缓慢的持续集成系统更令人沮丧的了。它减慢了反馈循环并阻止代码快速投入生产。虽然像使用性能更好的服务器可以为您争取时间&#xff0c;但您最终必须投资…...

Matrix卡顿优化之IdleHandlerLagTracer源码分析

前言 IdleHandler是Android系统为开发者提供的一种在消息队列空闲时运行任务的机制&#xff0c;通过IdleHandler执行的任务优先级低于主线程优先级&#xff0c;会在主线程任务执行完成后再执行&#xff0c;所以适用于一些实时性要求不高的任务&#xff0c;通常用于Android启动…...

(ubuntu)Docker 安装linux 详情过程

文章目录 前言Docker 安装linux第一步&#xff1a;使用dokcker 拉取镜像&#xff1a;第二步&#xff1a;创建本地目录&#xff08;用于挂载&#xff09;第三步&#xff1a;&#xff08;上传配置文件&#xff09;修改配置文件第四步&#xff1a;创建docker容器第五步: 测试本地连…...

接口测试中缓存处理策略

在接口测试中&#xff0c;缓存处理策略是一个关键环节&#xff0c;直接影响测试结果的准确性和可靠性。合理的缓存处理策略能够确保测试环境的一致性&#xff0c;避免因缓存数据导致的测试偏差。以下是接口测试中常见的缓存处理策略及其详细说明&#xff1a; 一、缓存处理的核…...

Chapter03-Authentication vulnerabilities

文章目录 1. 身份验证简介1.1 What is authentication1.2 difference between authentication and authorization1.3 身份验证机制失效的原因1.4 身份验证机制失效的影响 2. 基于登录功能的漏洞2.1 密码爆破2.2 用户名枚举2.3 有缺陷的暴力破解防护2.3.1 如果用户登录尝试失败次…...

JavaSec-RCE

简介 RCE(Remote Code Execution)&#xff0c;可以分为:命令注入(Command Injection)、代码注入(Code Injection) 代码注入 1.漏洞场景&#xff1a;Groovy代码注入 Groovy是一种基于JVM的动态语言&#xff0c;语法简洁&#xff0c;支持闭包、动态类型和Java互操作性&#xff0c…...

3403. 从盒子中找出字典序最大的字符串 I

3403. 从盒子中找出字典序最大的字符串 I 题目链接&#xff1a;3403. 从盒子中找出字典序最大的字符串 I 代码如下&#xff1a; class Solution { public:string answerString(string word, int numFriends) {if (numFriends 1) {return word;}string res;for (int i 0;i &…...

处理vxe-table 表尾数据是单独一个接口,表格tableData数据更新后,需要点击两下,表尾才是正确的

修改bug思路&#xff1a; 分别把 tabledata 和 表尾相关数据 console.log() 发现 更新数据先后顺序不对 settimeout延迟查询表格接口 ——测试可行 升级↑&#xff1a;async await 等接口返回后再开始下一个接口查询 ________________________________________________________…...

上位机开发过程中的设计模式体会(1):工厂方法模式、单例模式和生成器模式

简介 在我的 QT/C 开发工作中&#xff0c;合理运用设计模式极大地提高了代码的可维护性和可扩展性。本文将分享我在实际项目中应用的三种创造型模式&#xff1a;工厂方法模式、单例模式和生成器模式。 1. 工厂模式 (Factory Pattern) 应用场景 在我的 QT 项目中曾经有一个需…...

Visual Studio Code 扩展

Visual Studio Code 扩展 change-case 大小写转换EmmyLua for VSCode 调试插件Bookmarks 书签 change-case 大小写转换 https://marketplace.visualstudio.com/items?itemNamewmaurer.change-case 选中单词后&#xff0c;命令 changeCase.commands 可预览转换效果 EmmyLua…...

在鸿蒙HarmonyOS 5中使用DevEco Studio实现指南针功能

指南针功能是许多位置服务应用的基础功能之一。下面我将详细介绍如何在HarmonyOS 5中使用DevEco Studio实现指南针功能。 1. 开发环境准备 确保已安装DevEco Studio 3.1或更高版本确保项目使用的是HarmonyOS 5.0 SDK在项目的module.json5中配置必要的权限 2. 权限配置 在mo…...

CppCon 2015 学习:Time Programming Fundamentals

Civil Time 公历时间 特点&#xff1a; 共 6 个字段&#xff1a; Year&#xff08;年&#xff09;Month&#xff08;月&#xff09;Day&#xff08;日&#xff09;Hour&#xff08;小时&#xff09;Minute&#xff08;分钟&#xff09;Second&#xff08;秒&#xff09; 表示…...

【实施指南】Android客户端HTTPS双向认证实施指南

&#x1f510; 一、所需准备材料 证书文件&#xff08;6类核心文件&#xff09; 类型 格式 作用 Android端要求 CA根证书 .crt/.pem 验证服务器/客户端证书合法性 需预置到Android信任库 服务器证书 .crt 服务器身份证明 客户端需持有以验证服务器 客户端证书 .crt 客户端身份…...