Git如何清除本地缓存

 更新时间:2023年05月26日 09:10:31   作者:lishentao_1122  
这篇文章主要介绍了Git如何清除本地缓存问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
(福利推荐:【腾讯云】服务器最新限时优惠活动,云服务器1核2G仅99元/年、2核4G仅768元/3年,立即抢购>>>:9i0i.cn/qcloud

(福利推荐:你还在原价购买阿里云服务器?现在阿里云0.8折限时抢购活动来啦!4核8G企业云服务器仅2998元/3年,立即抢购>>>:9i0i.cn/aliyun

Git清除本地缓存

工作中遇到了令我头痛的是Gitlab远程仓库中初始化仓库时,提交了.idea文件,导致我clone下来代码后,idea导入.idea文件改变,

在以后的提交过程中都需要合并.idea文件中的xml文件,很麻烦,所以添加.gitignore文件输入.idea/意思是忽略掉.idea/文件下的所有文件。

但是都是失败,因为第一次clone的时候,本地与远程的.idea文件已经建立了track,所以只有清除本地的localcache并且清除远程仓库中的.idea文件夹,执行命令如下:

1、git rm -r --cached .idea/

2、git add .

3、git commit -m 'delete .idea'

4、git push -u origin master -f    //强制提交

5、编写.gitignore文件,并把所有忽略提交的文件都写入提交

windows 清除Git缓存

Windows 域账号的密码,或者git账号的密码修改之后,Git-Bash 中不能clone,提示认证失败。原因是Windows缓存了git账号密码。

先来看一下原理

缓存有几种,可以通过命令git config credential.helper或者用户目录下的.gitconfig文件查看是哪种缓存方式。

  • 一般默认是使用wincerd,也就是windows凭证。配置命令#git config --global credential.helper wincerd
  • 还可以配置保存到 .git-credentials文件,配置命令#git config --global credential.helper store
  • 还可以直接配置账号密码

清楚了缓存的方式,我们就可以有针对性的清除缓存。比如你的缓存方式是store,也就是保存到文件,那么你清除windows 凭据缓存就没有用了。其它同理。

清除缓存

第一种情况:

当使用.git-credentials文件缓存方式时,当git clone认证失败一次,会自动清除掉对应的缓存。然后再执行git clone会提示输新的账号密码。如果不行可以手动到文件中删除。

之后再执行clone或者pull时先提示输入用户名,然后提示输入密码,注意,这里的密码输入框有问题,要先把密码输入到一个文本然后再复制粘贴过去,否则会一直提示你认证失败

第二种情况:

当使用wincred方式时应该清理windows凭据缓存,方法如下

Windows清理凭据缓存

执行下面的命令 

这个操作受限于权限,在域管理的情况下你可能没有这个权限

#git credential-manager uninstall

这种情况还有一种清理方式 

同样,这个操作受限于权限,在域管理的情况下你可能没有这个权限

控制面板\用户帐户\凭据管理器

删除对应版本库的用户名密码

如果使用的是wincred方式,又没有权限清理windows凭据缓存时怎么办呢?

使用如下命令,清除git缓存设置

#git config --system --unset credential.helper

清除之后,每次执行git clone都会让你输入账号密码。注意这里有个大坑,输入密码的输入框有问题,当你密码比较长时可能导致密码混乱,验证失败。这种情况可以先将密码写到某个文件中,然后复制粘贴过来。

第三种情况:

将账号配置在git url中,执行命令后会提示要求输入密码,正常输入即可。

git clone https://username@bitbucket.xxx.com/bitbucket/scm/repo.git

下面是具体问题的例子

jenkins配置git url 如下:

https://bitbucket.xxx.com/bitbucket/scm/repo.git

构建报错

在jenkins slave上直接执行git clone命令也一样的错误。而且不提示输入用户名密码,直接报账号被锁定。

如果给git的url执行账号则没有问题,如下写法: https://username@bitbucket.xxx.com/bitbucket/scm/repo.git

初步分析,是由于git缓存了账号信息,在不指定账号的时候使用默认的账号去执行pull操作。所以沿着清缓存的方向找到一篇文章(见截图):

按照文章中的说法,执行了清缓存的命令,问题解决:

#git credential-manager uninstall

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持程序员之家。

相关文章

  • 各类常见语言清除网页缓存方法汇总

    各类常见语言清除网页缓存方法汇总

    这篇文章主要介绍了各类常见语言清除网页缓存方法汇总,包括了常见的html、asp、php与java,非常具有实用价值,需要的朋友可以参考下
    2014-10-10
  • 编程之显示/隐式声明

    编程之显示/隐式声明

    显示声明 是程序中的一条说明语句,它列出一批变量名并指明这些变量的类型。隐式声明 指通过某种默认协定的方法将变量名与类型绑定。
    2011-01-01
  • IDEA升级后Git拉取和推送的标签消失的解决方法

    IDEA升级后Git拉取和推送的标签消失的解决方法

    本文主要介绍了IDEA升级后Git拉取和推送的标签消失的解决方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-06-06
  • Win10环境下?编译?和?运行?x264的详细过程

    Win10环境下?编译?和?运行?x264的详细过程

    这篇文章主要介绍了Win10环境下编译和运行x264的详细过程,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-10-10
  • VSCode提高 Node 和 Vue 开发效率的插件推荐

    VSCode提高 Node 和 Vue 开发效率的插件推荐

    工欲善其事必先利其器,以下是本人为Node 和 Vue开发收集的vscode插件,有需要的话赶紧mark起来吧~
    2020-03-03
  • MASA?Blazor入门详细教程

    MASA?Blazor入门详细教程

    MASA?Blazor是一个基于?Blazor?Component?和?Material?Design?的?UI?组件库,接下来通过本文给大家介绍MASA?Blazor入门详细教程,感兴趣的朋友一起看看吧
    2022-04-04
  • minio对象存储四台服务器部署4个节点集群的实现方式

    minio对象存储四台服务器部署4个节点集群的实现方式

    这篇文章主要介绍了minio对象存储四台服务器部署4个节点集群,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-06-06
  • Git 教程之标签详解

    Git 教程之标签详解

    本文主要介绍Git 标签的内容知识,这里整理了相关资料及详细说明Git 相关命令用法,有兴趣的小伙伴可以参考下
    2016-09-09
  • vs2019报错:配置“Debug|Win32”的 Designtime 生成失败IntelliSense 可能不可用的问题

    vs2019报错:配置“Debug|Win32”的 Designtime 生成失败IntelliSense 可能不可用的

    这篇文章主要介绍了vs2019报错:配置“Debug|Win32”的 Designtime 生成失败IntelliSense 可能不可用 出错内容,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-08-08
  • 水晶报表 分页 的问题

    水晶报表 分页 的问题

    在论坛上经常会看到水晶报表分页的问题,这个很好解决。但是自动插入空白行的问题却一直没有很好的答案,经过研究找到一个变通的办法来实现了。
    2009-04-04

最新评论

?


http://www.vxiaotou.com