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

idea开发工具清除Git凭证(含Git凭证管理策略)

前言

网上很多人出现这个问题,也有很多文章或博客来说明这个问题,但是几乎都没有说到点子上,全网几乎都说清除credential.helper配置或者清空windows凭证管理器,还有一些文章说清除IDEA缓存,其实都是不对的。

credential.helperwindows凭证管理器是有其他含义的,另外清除IDEA缓存并不能清除掉IDEA保存的Git凭证。

问题解决

首先把问题解决了。

在使用idea进行推送代码到远程仓库时,默认第一次会弹出如下对话框,输入用户名和密码之后即可推送,如果勾选了“Remember”,那么下次再使用idea进行代码推送时则不需要输入用户名和密码,即可直接推送。

在这里插入图片描述
IDEA记住凭证后以后推送都会使用该用户名和密码进行推送,如果这个时候需要切换一个凭证进行推送(换一个gitee账号进行推送)则无法进行。

当然如果当前IDEA保存的这个Gitee账号的密码更改了,那么使用idea进行推送时idea会重新弹出对话框让我们重新输入一次用户名和密码。

如果此时更换另一个Gitee账号的仓库进行推送,IDEA同样也会重新弹出输框让我们重新输入用户名和密码,但是这样操作很麻烦。

如图所示,我们更换一个项目地址(需要是其他Gitee账号的项目地址),然后再次推送,IDEA就可以弹出输入框让我们重新输入用户名和密码了。

在这里插入图片描述

我们如果只是想清楚IDEA保存的Git凭证只需要打开IDEA的设置,找到Appearance & Behavior—>System Settings—>Passwords,如下图所示,清除IDEA保存的凭证信息,如图所示:

在这里插入图片描述

清除IDEA保存的Git凭证后,重新推送项目,IDEA又会弹出一个新的输入框让我们输入新的用户和密码了,如图所示:

在这里插入图片描述

Git的凭证管理器

credential.helper配置用于设置Git的凭证管理器策略,至于windows凭证管理器只是Git的凭证管理策略中的一种。

credential.helper配置有如下参数:

  • cache:将凭证存储在内存中。默认情况下,凭证会被缓存15分钟。可以使用--timeout <seconds>来延长时间。
  • store:将凭证存储在磁盘中。默认存储在C:\Users\${user}\.git-credentials中。

Tips:${user}是当前Windows的账户

  • manager:使用系统的凭证管理器(如果是windows系统则存储在windows的凭证管理器中)。

使用示例:

# 设置system级别的凭证管理,凭证管理采用store策略(将Git的凭证存储在磁盘中)
git config --system credential.helper store# 清除system级别的Git的凭证管理配置
git config --system --unset credential.helper

Git的凭证管理与IDEA的凭证管理

采用credential.helper配置可以设置Git的凭证管理,可选值有cachestoremanager等,无论选择了那个配置,都可以存储Git的凭证,下次采用Git进行推送时就不需要输入用户名和密码了。

但是IDEA开发工具进行代码推送时并没有使用Git提供的凭证管理,也就是credential.helper配置对IDEA工具无效。

即使设置了credential.helper,那么使用IDEA开发工具进行推送时也会提示重新输入用户名和密码。如此时勾选了“Remember”,那么IDEA将会把凭证存储在C:\Users\${user}\AppData\Roaming\JetBrains\IntelliJIdea2023.2\c.kdbx文件中,我们可以使用之前提到的方法来清空IDEA保存的Git凭证。

相关文章:

  • [Bug]使用gradio创建应用提示AttributeError: module ‘gradio‘ has no attribute ‘inputs‘
  • Unity2D计算两个物体的距离
  • javaswing图书管理系统
  • 从零开始! Jupyter Notebook的安装教程
  • 6.19作业
  • Redis 键(key)
  • QTday5 2024-06-19
  • 视频监控管理平台智能边缘分析一体机安防监控平台离岗检测算法
  • MYSQL数据库安装
  • 【文档智能 RAG】RAG增强之路-智能文档解析关键技术难点及PDF解析工具PDFlux
  • 【网络安全学习】漏洞扫描:-01- 漏洞数据库searchsploit的使用
  • 北京银行品牌价值提升160亿元首破千亿 位居《中国500最具价值品牌》榜第85位!
  • qt 5.6 qmake手册
  • php实现modbus CRC校验
  • HJ39判断两个IP是否属于同一子网(中)
  • Angular 4.x 动态创建组件
  • Fastjson的基本使用方法大全
  • idea + plantuml 画流程图
  • nginx 负载服务器优化
  • PHP 小技巧
  • spring-boot List转Page
  • XML已死 ?
  • 工程优化暨babel升级小记
  • 系统认识JavaScript正则表达式
  • 小程序button引导用户授权
  • 用 Swift 编写面向协议的视图
  • 用Canvas画一棵二叉树
  • 优化 Vue 项目编译文件大小
  • 正则学习笔记
  • hi-nginx-1.3.4编译安装
  • ​数据结构之初始二叉树(3)
  • # 深度解析 Socket 与 WebSocket:原理、区别与应用
  • #我与Java虚拟机的故事#连载15:完整阅读的第一本技术书籍
  • (2)STL算法之元素计数
  • (Note)C++中的继承方式
  • (PWM呼吸灯)合泰开发板HT66F2390-----点灯大师
  • (二十六)Java 数据结构
  • (附源码)c#+winform实现远程开机(广域网可用)
  • (附源码)ssm基于微信小程序的疫苗管理系统 毕业设计 092354
  • (计算机网络)物理层
  • (每日一问)操作系统:常见的 Linux 指令详解
  • (十)Flink Table API 和 SQL 基本概念
  • (一)基于IDEA的JAVA基础12
  • (转)visual stdio 书签功能介绍
  • ***利用Ms05002溢出找“肉鸡
  • *_zh_CN.properties 国际化资源文件 struts 防乱码等
  • .Net Core 中间件验签
  • .NET(C#) Internals: as a developer, .net framework in my eyes
  • .NET8使用VS2022打包Docker镜像
  • .Net转Java自学之路—基础巩固篇十三(集合)
  • /*在DataTable中更新、删除数据*/
  • /3GB和/USERVA开关
  • []C/C++读取串口接收到的数据程序
  • []T 还是 []*T, 这是一个问题
  • [20150707]外部表与rowid.txt