前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >Git:git credential cache store 让我们的开发生活更便捷

Git:git credential cache store 让我们的开发生活更便捷

作者头像
运维开发王义杰
发布于 2024-06-25 00:27:04
发布于 2024-06-25 00:27:04
30300
代码可运行
举报
运行总次数:0
代码可运行

在日常开发中,开发者经常需要频繁地与远程仓库进行交互,这时每次操作都要输入用户名和密码,不仅麻烦,还容易出错。Git 提供了一种解决方案,叫做 Credential Cache,可以缓存我们的凭证,使我们的开发流程更加顺畅。

本文将深入讲解 git credential-cache store 的使用方法及其原理,帮助我们在实际开发中更好地管理凭证,提高效率,并对比 WindowsLinux 系统上的不同使用方法。

什么是 Git Credential Cache

Git Credential Cache 是 Git 提供的一种机制,用于临时缓存用户的凭证信息,以便在一定时间内免去重复输入用户名和密码的烦恼。与永久存储凭证的方式不同,Credential Cache 更加安全,因为它只会在指定时间内有效,减少了凭证泄露的风险。

使用 Credential Cache 的步骤

启动 Credential Cache 守护进程:在使用 Credential Cache 之前,需要先启动一个守护进程。该进程会在后台运行,管理我们的凭证缓存。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制

bash
git config --global credential.helper cache

设置缓存时间:默认情况下,Credential Cache 的缓存时间为 15 分钟。我们可以通过以下命令自定义缓存时间(单位为秒)。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制

bash
git config --global credential.helper 'cache --timeout=3600'

以上命令将缓存时间设置为 1 小时。

使用 Git 命令:启动 Credential Cache 后,当我们进行 Git 操作时(如 git pullgit push),系统会提示我们输入用户名和密码。输入后,凭证将被缓存,后续操作将在缓存时间内自动使用这些凭证。

清除缓存:如果我们想手动清除缓存,可以使用以下命令:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制

bash
git credential-cache exit
在 Windows 系统上的使用

Windows 系统默认不支持 Unix 套接字,这使得 git credential-cache 无法直接使用。取而代之的是,可以使用 Git for Windows 提供的 wincredmanager 作为凭证管理器。

配置 wincred:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制

bash
git config --global credential.helper wincred

配置 manager 或 manager-core:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制

bash
git config --global credential.helper manager

或者:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制

bash
git config --global credential.helper manager-core

验证配置:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制

bash
git config --global credential.helper

在 Linux 系统上的使用

Linux 系统上,git credential-cache 可以直接使用,因为它依赖于 Unix 套接字,这是 Linux 系统的内置功能。具体操作步骤如下:

启动 Credential Cache 守护进程:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制

bash
git config --global credential.helper cache

设置缓存时间:

默认缓存时间是 15 分钟,我们可以通过以下命令设置自定义的缓存时间(例如 1 小时):

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制

bash
git config --global credential.helper 'cache --timeout=3600'

使用 Git 命令:

在进行 Git 操作时(如 git pullgit push),系统会提示我们输入用户名和密码。输入后,凭证将被缓存,后续操作将在缓存时间内自动使用这些凭证。

清除缓存:

如果需要手动清除缓存,可以使用以下命令:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制

bash
git credential-cache exit

检查是否已经启用

无论是 Windows 还是 Linux,我们都可以通过以下命令来检查当前的 credential.helper 配置:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制

bash
git config --global credential.helper

如果已经配置了 credential.helper,该命令会返回相应的配置名称,如 cachewincredmanager

示例场景

假设我们在 Windows 系统上工作,并且选择使用 manager-core 来管理我们的凭证。以下是具体的操作步骤:

配置 manager-core

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制

bash
git config --global credential.helper manager-core

验证配置:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制

bash
git config --global credential.helper

输出结果应为 manager-core

对比总结

Windows
  • wincred:
    • 功能: 直接利用 Windows 系统自带的 Credential Manager 来存储和管理 Git 凭证。
    • 配置命令: git config --global credential.helper wincred
    • 特点: 简单直接,适合一般用户的需求。
  • manager 或 manager-core:
    • 功能: 提供更加高级和全面的凭证管理功能,支持多种身份验证方式,包括二次验证、多因素验证等。
    • 配置命令: git config --global credential.helper managergit config --global credential.helper manager-core
    • 特点: 功能更丰富,支持更多的身份验证方式,适合有更高安全需求或需要多平台支持的用户。
Linux
  • credential-cache:
    • 功能: 临时缓存用户的凭证信息,以便在一定时间内免去重复输入用户名和密码的烦恼。
    • 配置命令: git config --global credential.helper cache
    • 特点: 依赖于 Unix 套接字,适合频繁进行 Git 操作的用户。

使用场景及注意事项

  • 频繁的 Git 操作:
    • 如果我们在短时间内需要进行多次 Git 操作(如代码提交、拉取、推送等),使用 Credential Cache 可以显著减少输入凭证的次数,提高工作效率。
  • 公共计算机或共享环境:
    • 在公共计算机或共享环境中,使用 Credential Cache 需要特别注意安全性。确保缓存时间合适,并在使用完毕后手动清除缓存,避免他人使用我们的凭证。
  • 团队开发:
    • 在团队开发中,推荐每个团队成员都配置自己的 Credential Cache 或 manager,这样可以避免因为频繁输入凭证而带来的困扰,同时保持凭证的安全性。
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2024-06-14,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 运维开发王义杰 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Git本地免密码和账号使用三板斧【Git】
HOME,一般为C:\users\Administrator,也可是你自己创建的系统用户名目录,反正都在C:\users\中。演示为gitee(同理方式)
小志biubiu
2025/02/27
2080
Git本地免密码和账号使用三板斧【Git】
git工具操作--上传本地项目到github仓库
1. 下载Git工具并安装,安装可直接点击next即可 下载地址: https://gitforwindows.org/
六月的雨在Tencent
2024/03/28
1540
git工具操作--上传本地项目到github仓库
几个Git使用技巧
git使用http地址时,需要输入账号密码的。如果把配置于存到本地文件,因为store是明文存放,所以容易造成密码泄露。 可以执行以下命令,把凭证超时时间设置的很久。这样,只要凭证不过期,就不用重新输入密码了。
sean.liu
2022/08/03
3170
如何完美解决升级 IntelliJ IDEA 最新版之后遇到 Git 记住密码功能失效的问题
在这篇文章中,我们将详细探讨如何解决在升级到 IntelliJ IDEA 最新版(2024.1.3 Ultimate Edition)后遇到的 Git 记住密码功能失效的问题。这篇文章将通过多级标题、引用语法以及详细的操作步骤,帮助读者轻松解决这个困扰。不论你是初学者还是经验丰富的开发者,都能从中受益。关键词:IntelliJ IDEA 2024.1.3、Git 记住密码、凭证管理、技术博客、操作指南。
猫头虎
2024/06/17
9940
如何完美解决升级 IntelliJ IDEA 最新版之后遇到 Git 记住密码功能失效的问题
git 清除用户名密码
清空所有用户名和密码:git config –system –unset credential.helper
全栈程序员站长
2022/07/23
6.9K0
7.14 Git 工具 - 凭证存储
如果你使用的是 SSH 方式连接远端,并且设置了一个没有口令的密钥,这样就可以在不输入用户名和密码的情况下安全地传输数据。 然而,这对 HTTP 协议来说是不可能的 —— 每一个连接都是需要用户名和密码的。 这在使用双重认证的情况下会更麻烦,因为你需要输入一个随机生成并且毫无规律的 token 作为密码。
shaonbean
2019/05/26
9730
实用技巧之git免密连代码仓库
想了一下,本来想着督催自己做个视频,在b站上开启linux/vim/git等实用技巧,录制这么一些视频,忽然发现不太方便,后面再录制吧,看大家留言的人数,我会考虑做一些比较有用的视频一起学习。
公众号guangcity
2020/05/28
8680
从svn迁移git别扯了蛋
20120717080845_209.png Git for Windows. 国内直接从官网下载比较困难,需要访问外国网站。这里提供一个国内的下载站,方便网友下载。 点我 Git 全局设置: git config --global user.name "小柒2012" git config --global user.email "345849402@qq.com" //禁用自动转换 windows下可能会出现问题 git config --global core.auto
小柒2012
2018/04/16
6030
从svn迁移git别扯了蛋
git push提交代码到远程仓库重复输入用户名密码
设置成功之后,之后git push 提交时首次输入密码之后以后就不用输入密码可直接提交了
六月的雨在Tencent
2024/03/28
1460
git push提交代码到远程仓库重复输入用户名密码
瞎bb时间
我在看一些视频网站,一些漫画网站,一些小说网站时,下面就有一些稀奇古怪的网站,你懂的。像我这样老色批就喜欢点进去看一看,上面就是这样的一个网站,估计以后就会改。
用户1145562
2020/10/23
4870
git pull 时每次都要输入用户名和密码的解决办法
如果我们git clone的下载代码的时候是连接的http形式,而不是git@git (ssh)的形式,当我们操作git pull/push到远程的时候,总是提示我们输入账号和密码才能操作成功,频繁的输入账号和密码会很麻烦。
joshua317
2020/06/15
3.1K0
git pull 时每次都要输入用户名和密码的解决办法
git clone的下载代码的时候用https://而不是git@git (ssh)的形式,当我们操作git pull/push到远程的时候,总是提示我们输入账号和密码才能操作成功,频繁的输入账号和密码会很麻烦。
超级小可爱
2023/02/22
4.5K0
Git 记住 Http/Https 用户名/密码
为为为什么
2024/05/31
8240
如何在 Git 上传代码:小白必读,非常全面
本篇文章将手把手教你如何在 Git 上上传代码,从安装和配置 Git 到初始化仓库、提交代码、配置远程仓库以及上传代码,提供全面的讲解和详细的命令示例。内容适合初学者,并包含常见问题的解决方法,确保你能够顺利完成代码上传任务。
默 语
2024/12/24
7880
如何在 Git 上传代码:小白必读,非常全面
git笔记
会在用户主目录的.gitconfig文件中加入下面的配置。如果没有–global,则加在当前项目下的.git/config文件中。
OwenZhang
2021/12/08
5350
git笔记
Git命令大全
1. 仓库级的配置文件:在仓库的 .git/.gitconfig,该配置文件只对所在的仓库有效。 2. 全局配置文件:Mac 系统在 ~/.gitconfig,Windows 系统在 C:\Users\<用户名>\.gitconfig。 3. 系统级的配置文件:在 Git 的安装目录下(Mac 系统下安装目录在 /usr/local/git)的 etc 文件夹中的 gitconfig。
Java学习录
2019/07/22
7710
使用账号密码来操作github? NO!
最近在更新github文件的时候,突然说不让更新了,让我很是困惑,原因是在2021年8月13号之后,github已经不让直接使用账号名密码来登录了,必须使用personal access token。今天给大家讲解一下怎么对这个token进行缓存。
程序那些事
2021/08/17
1.9K0
【技术创作101训练营】超简单的公司Git+个人Git共存方式
问题背景:新人的迷思 作为刚进入公司工作的新人,我遇到了一个问题,那就是如何在设置完公司 Git 账号的情况下再使用个人的 GitHub 账号? 在一翻搜索后我发现网上都是使用 SSH 的方式进行多账
jojo的奇妙学习
2020/09/23
9490
【技术创作101训练营】超简单的公司Git+个人Git共存方式
git config
安装完 Git 后,需要对 Git 环境进行一次配置,且只需要配置一次。程序升级时会保留配置信息。 你可以在任何时候再次通过运行命令来修改它们。
恋喵大鲤鱼
2024/07/18
1340
Git删除用户名
(快捷打开win+R,输入control) 点击凭据管理器 点击windows凭据删除你的git凭据即可
达达前端
2020/06/11
3.8K0
Git删除用户名
相关推荐
Git本地免密码和账号使用三板斧【Git】
更多 >
领券
社区富文本编辑器全新改版!诚邀体验~
全新交互,全新视觉,新增快捷键、悬浮工具栏、高亮块等功能并同时优化现有功能,全面提升创作效率和体验
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文