欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Git如何清除本地緩存

 更新時(shí)間:2023年05月26日 09:10:31   作者:lishentao_1122  
這篇文章主要介紹了Git如何清除本地緩存問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

Git清除本地緩存

工作中遇到了令我頭痛的是Gitlab遠(yuǎn)程倉(cāng)庫(kù)中初始化倉(cāng)庫(kù)時(shí),提交了.idea文件,導(dǎo)致我clone下來(lái)代碼后,idea導(dǎo)入.idea文件改變,

在以后的提交過(guò)程中都需要合并.idea文件中的xml文件,很麻煩,所以添加.gitignore文件輸入.idea/意思是忽略掉.idea/文件下的所有文件。

但是都是失敗,因?yàn)榈谝淮蝐lone的時(shí)候,本地與遠(yuǎn)程的.idea文件已經(jīng)建立了track,所以只有清除本地的localcache并且清除遠(yuǎn)程倉(cāng)庫(kù)中的.idea文件夾,執(zhí)行命令如下:

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

2、git add .

3、git commit -m 'delete .idea'

4、git push -u origin master -f    //強(qiáng)制提交

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

windows 清除Git緩存

Windows 域賬號(hào)的密碼,或者git賬號(hào)的密碼修改之后,Git-Bash 中不能clone,提示認(rèn)證失敗。原因是Windows緩存了git賬號(hào)密碼。

先來(lái)看一下原理

緩存有幾種,可以通過(guò)命令git config credential.helper或者用戶目錄下的.gitconfig文件查看是哪種緩存方式。

  • 一般默認(rèn)是使用wincerd,也就是windows憑證。配置命令#git config --global credential.helper wincerd
  • 還可以配置保存到 .git-credentials文件,配置命令#git config --global credential.helper store
  • 還可以直接配置賬號(hào)密碼

清楚了緩存的方式,我們就可以有針對(duì)性的清除緩存。比如你的緩存方式是store,也就是保存到文件,那么你清除windows 憑據(jù)緩存就沒(méi)有用了。其它同理。

清除緩存

第一種情況:

當(dāng)使用.git-credentials文件緩存方式時(shí),當(dāng)git clone認(rèn)證失敗一次,會(huì)自動(dòng)清除掉對(duì)應(yīng)的緩存。然后再執(zhí)行g(shù)it clone會(huì)提示輸新的賬號(hào)密碼。如果不行可以手動(dòng)到文件中刪除。

之后再執(zhí)行clone或者pull時(shí)先提示輸入用戶名,然后提示輸入密碼,注意,這里的密碼輸入框有問(wèn)題,要先把密碼輸入到一個(gè)文本然后再?gòu)?fù)制粘貼過(guò)去,否則會(huì)一直提示你認(rèn)證失敗

第二種情況:

當(dāng)使用wincred方式時(shí)應(yīng)該清理windows憑據(jù)緩存,方法如下

Windows清理憑據(jù)緩存

執(zhí)行下面的命令 

這個(gè)操作受限于權(quán)限,在域管理的情況下你可能沒(méi)有這個(gè)權(quán)限

#git credential-manager uninstall

這種情況還有一種清理方式 

同樣,這個(gè)操作受限于權(quán)限,在域管理的情況下你可能沒(méi)有這個(gè)權(quán)限

控制面板\用戶帳戶\憑據(jù)管理器

刪除對(duì)應(yīng)版本庫(kù)的用戶名密碼

如果使用的是wincred方式,又沒(méi)有權(quán)限清理windows憑據(jù)緩存時(shí)怎么辦呢?

使用如下命令,清除git緩存設(shè)置

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

清除之后,每次執(zhí)行g(shù)it clone都會(huì)讓你輸入賬號(hào)密碼。注意這里有個(gè)大坑,輸入密碼的輸入框有問(wèn)題,當(dāng)你密碼比較長(zhǎng)時(shí)可能導(dǎo)致密碼混亂,驗(yàn)證失敗。這種情況可以先將密碼寫到某個(gè)文件中,然后復(fù)制粘貼過(guò)來(lái)。

第三種情況:

將賬號(hào)配置在git url中,執(zhí)行命令后會(huì)提示要求輸入密碼,正常輸入即可。

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

下面是具體問(wèn)題的例子

jenkins配置git url 如下:

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

構(gòu)建報(bào)錯(cuò)

在jenkins slave上直接執(zhí)行g(shù)it clone命令也一樣的錯(cuò)誤。而且不提示輸入用戶名密碼,直接報(bào)賬號(hào)被鎖定。

如果給git的url執(zhí)行賬號(hào)則沒(méi)有問(wèn)題,如下寫法: https://username@bitbucket.xxx.com/bitbucket/scm/repo.git

初步分析,是由于git緩存了賬號(hào)信息,在不指定賬號(hào)的時(shí)候使用默認(rèn)的賬號(hào)去執(zhí)行pull操作。所以沿著清緩存的方向找到一篇文章(見(jiàn)截圖):

按照文章中的說(shuō)法,執(zhí)行了清緩存的命令,問(wèn)題解決:

#git credential-manager uninstall

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

最新評(píng)論