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,当你想删除或更新某个密码时,来这里进行操作即可。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/97401.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

发现很多人分不清 jwt session token 的区别?

1. JWT(JSON Web Token) 1.1 什么是JWT? JWT,全称为JSON Web Token,是一种用于在网络上安全传输信息的开放标准。它的设计初衷是用于跨域通信,在不同域之间传递声明性信息。JWT是一种自包含的令牌&#x…

猜数字游戏(Python)

一、猜数字游戏是一个古老的密码破译类、益智类小游戏,通常由两个人参与,一个人设置一个数字,一个人猜数字,当猜数字的人说出一个数字,由出数字的人告知是否猜中:若猜测的数字大于设置的数字,出…

《软件方法(下)》第8章2023版连载(05)关于实体类

DDD领域驱动设计批评文集 做强化自测题获得“软件方法建模师”称号 《软件方法》各章合集 8.2 建模步骤C-1 识别类和属性 8.2.2 三种分析类 8.2.2.2 关于边界类 边界类的责任是接受输入、提供输出以及做简单的过滤。 图8-20中提到边界类的映射方法——每个有接口的外系统…

C#WPF标记扩展应用实例

本文介绍C#WPF标记扩展应用实例 一、标记扩展 标记扩展是一个 XAML 语言概念。 用于提供特性语法的值时,大括号({ 和 })表示标记扩展用法。 此用法指示 XAML 处理不要像通常那样将特性值视为文本字符串或者可转换为字符串的值。就是类似于值用变量的意思。 WPF 应用编程中…

sheng的学习笔记-【中文】【吴恩达课后测验】Course 1 - 神经网络和深度学习 - 第一周测验

课程1_第1周_测验题 目录:目录 第一题 1.“人工智能是新电力” 这个比喻指的是什么? A. 【  】人工智能为我们的家庭和办公室的个人设备供电,类似于电力。 B. 【  】通过“智能电网”,人工智能正在传递新一波的电力。 C. …

报考浙江工商大学2024年工商管理硕士(MBA)联考指南

1. 预报名时间:2023年9月24日-27日每天09:00-22:00 2. 正式报名时间:2023年10月8日-25日每天09:00-22:00 3. 浙江省网上确认(现场确认)时间:2023年10月31日-11月4日17&…

cvpr24写作模板pdfLaTex编译器注意点小结

文章目录 1 更改作者显示 Anonymous CVPR submission2 \label标签3 换行符// 与换列符&4 \medskip5 首行缩进6 插入图片6.1 单幅图片6.2 并排显示\hfill Reference https://cvpr.thecvf.com/Conferences/2024 1 更改作者显示 Anonymous CVPR submission 这一行开头加上% …

超全整理,Jmeter接口性能测试-Beanshell调用jar包加密(详细)

目录:导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结(尾部小惊喜) 前言 1、添加beanshell…

【2023集创赛】平头哥杯一等奖作品:基于无剑100开源SoC平台构建双核TEE安全系统

本文为2023年第七届全国大学生集成电路创新创业大赛(“集创赛”)平头哥杯一等奖作品分享,参加极术社区的【有奖征集】分享你的2023集创赛作品,秀出作品风采,分享2023集创赛作品扩大影响力,更有丰富电子礼品…

WordPress的SMTP服务失效的解决

文章首发见博客:https://mwhls.top/4832.html。 无图/格式错误/后续更新请见首发页。 更多更新请到mwhls.top查看 欢迎留言提问或批评建议,私信不回。 场景 已配置好的SMTP,在网站迁移前正常,迁移后无法使用。更换163与QQ的授权码…

辅助寄存器是干什么用的

目录 请问CPU 的 MREQ 引脚和 IORQ 引脚分别是干什么用的 那这里的引脚是什么含义呢? 程序是指令和数据的集合 辅助寄存器是干什么用的 寄存器的用途取决于它的类型 PC 寄存器也叫作“程序指针”,存储着指向 CPU 接下来 要执行的指令的地址。PC 寄存…

工程师职称评审有关安排

一、评审提交材料: 1.评审表 2.工作总结3.工作证明4.1寸红底照片6张5.身份证和高学历证书复印件两份6.继续教育培训.继续教育培训:每个人每年不少于80课时,其中公需课满足24课时课满足56课时 二、评审需要满足的条件 1.评审条件:1…

呼叫中心系统解决方案有哪些

在呼叫中心行业,很多企业都在使用呼叫中心系统,而在使用现在的系统中,我们企业也通常会遇到很多的问题,特别是有关系统使用的问题,市场开展的情况问题,那么,呼叫中心系统的解决方案有哪些?今天…

C++ list

国庆放假第三天&#xff0c;今天把stl的list学完。 lsit是一个带头双向循环链表。 遍历 list也可以用迭代器&#xff0c;范围for进行遍历&#xff0c;没有operator[ ]。 迭代器 list<int> s1;s1.push_back(1);s1.push_back(2);s1.push_back(3);s1.push_back(4);list&…

LeetCode【121. 买卖股票的最佳时机】

你才不是什么小人物&#xff0c;你在我这里&#xff0c;是所有的天气和心情。 给定一个数组 prices &#xff0c;它的第 i 个元素 prices[i] 表示一支给定股票第 i 天的价格。 你只能选择 某一天 买入这只股票&#xff0c;并选择在 未来的某一个不同的日子 卖出该股票。设计一…

【SWAT水文模型】SWAT水文模型建立及应用第七期:SWAT模型检验

SWAT水文模型检验 方式1&#xff1a;参数带回至ArcSWAT方式1.1&#xff1a;文件替换方式1.2&#xff1a;手动修改方式1.3&#xff1a; 方式2&#xff1a;于SWAT CUP中确定检验期结果方式2.1&#xff1a;率定期径流数据验证方式2.2&#xff1a;率定期检验期径流数据验证 总结参考…

k8s全栈-笔记6-Prometheus+Alertmanager构建监控系统

k8s全栈-笔记6-PrometheusAlertmanager构建监控系统 实验环境: Pormetheusgrafanaalertmanager安装在k8s集群,k8s环境如下 K8S集群角色IP主机名安装的组件控制节点(master)172.20.252.181k8s-master01apiserver,controller-manager,schedule,kubelet,etcd,kube-proxy,容器运…

可视化模块

目录 可视化送入网络的图片可视化网络层的热力图 可视化送入网络的图片 送入的数据为imgs&#xff0c;其大小为(8,3,256,256)&#xff0c;并以2行8列进行展示 import matplotlib.pyplot as plt import numpy as np# 假设你的张量名为 tensor&#xff0c;形状为 (8, 3, 256, 2…

基于可解释性特征矩阵与稀疏采样全局特征组合的人体行为识别

论文还未发表&#xff0c;不细说&#xff0c;欢迎讨论。 Title: A New Solution to Skeleton-Based Human Action Recognition via the combination usage of explainable feature extraction and sparse sampling global features. Abstract: With the development of deep …

前端实现chatGpt流式输出 - SSE

前端实现chatGpt流式输出 - SSE 一、chatGpt流式输出技术分析 在使用ChatGPT时&#xff0c;模型的回复内容是连续输出&#xff0c;而不是整段话直接出现&#xff0c;因为模型需要不断预测接下来要回复什么内容&#xff0c;如果等整段回复生成之后再输出到网页&#xff0c;用户…