配置git push不用每次輸入用戶名和密碼

1.使用ssh協(xié)議

  • step 1: 生成公鑰
ssh-keygen -t rsa -C "xxxxx@xxxxx.com"  
# Generating public/private rsa key pair...
# 三次回車即可生成 ssh key
  • step 2: 查看已生成的公鑰
cat ~/.ssh/id_rsa.pub
# ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC6eNtGpNGwstc....
  • step3: 復(fù)制已生成的公鑰添加到git服務(wù)器
  • step4:
    使用ssh協(xié)議clone遠(yuǎn)程倉庫
    or
    如果已經(jīng)用https協(xié)議clone到本地了,那么就重新設(shè)置遠(yuǎn)程倉庫
git remote set-url origin git@xxx.com:xxx/xxx.git

2.設(shè)置git配置

對于 HTTP 協(xié)議 git 擁有一個憑證系統(tǒng)來處理這個事情
  • 默認(rèn)所有都不緩存。 每一次連接都會詢問你的用戶名和密碼。

  • "cache" 模式會將憑證存放在內(nèi)存中一段時間。 密碼永遠(yuǎn)不會被存儲在磁盤中,并且在15分鐘后從內(nèi)存中清除。

  • "store" 模式會將憑證用明文的形式存放在磁盤中,并且永不過期。 這意味著除非你修改了你在 Git 服務(wù)器上的密碼,否則你永遠(yuǎn)不需要再次輸入你的憑證信息。 這種方式的缺點是你的密碼是用明文的方式存放在你的 home 目錄下。

  • 如果你使用的是 Mac,Git 還有一種 “osxkeychain” 模式,它會將憑證緩存到你系統(tǒng)用戶的鑰匙串中。 這種方式將憑證存放在磁盤中,并且永不過期,但是是被加密的,這種加密方式與存放 HTTPS 憑證以及 Safari 的自動填寫是相同的。

  • 如果你使用的是 Windows,你可以安裝一個叫做 “winstore” 的輔助工具。 這和上面說的 “osxkeychain” 十分類似,但是是使用 Windows Credential Store 來控制敏感信息。 可以在 https://gitcredentialstore.codeplex.com下載。
    你可以設(shè)置 Git 的配置來選擇上述的一種方式

git config --global credential.helper cache

部分輔助工具有一些選項。 “store” 模式可以接受一個 --file <path> 參數(shù),可以自定義存放密碼的文件路徑(默認(rèn)是~/.git-credentials)。 “cache” 模式有 --timeout <seconds> 參數(shù),可以設(shè)置后臺進(jìn)程的存活時間(默認(rèn)是 “900”,也就是 15 分鐘)。 下面是一個配置 “store” 模式自定義路徑的例子:

git config --global credential.helper store --file ~/.my-credentials

Git 甚至允許你配置多個輔助工具。 當(dāng)查找特定服務(wù)器的憑證時,Git 會按順序查詢,并且在找到第一個回答時停止查詢。 當(dāng)保存憑證時,Git 會將用戶名和密碼發(fā)送給 所有 配置列表中的輔助工具,它們會按自己的方式處理用戶名和密碼。 如果你在閃存上有一個憑證文件,但又希望在該閃存被拔出的情況下使用內(nèi)存緩存來保存用戶名密碼,.gitconfig 配置文件如下:

[credential]
    helper = store --file /mnt/thumbdrive/.git-credentials
    helper = cache --timeout 30000

3.修改git配置文件

在用戶文件夾下找到 .gitconfig文件,用編輯器或者vim打開,如果之前有配置過用戶名和密碼就會在里面看到

[user]
    name = xxx
    email = xxx@xxxxx.com

在后面追加如下配置并保存

[credential]
     helper=store

下次執(zhí)行git push再次輸入用戶名之后,git就會記住用戶名密碼并在上述目錄下創(chuàng)建.git-credentials文件,記錄的就是輸入的用戶名密碼。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,506評論 19 139
  • 1. 安裝 Github 查看是否安裝git: $ git config --global user.name "...
    Albert_Sun閱讀 13,837評論 9 163
  • 本文為 Git教程的學(xué)習(xí)筆記,教程源自廖雪峰的博客。這是一個由淺入深,學(xué)完后能立刻上手的Git教程。另,附上另一本...
    七弦桐語閱讀 6,462評論 5 47
  • “縣公安系統(tǒng)黨委結(jié)合本部門實際,堅持從嚴(yán)治警和從優(yōu)待警相結(jié)合的基本方針,大力推進(jìn)加強干部日常管理監(jiān)督工作深入開展,...
    晴空排鶴閱讀 422評論 0 0
  • 每一個微笑,背後都帶著無法想象的心酸?;蛟S你說,我就是笑了,可是同齡人里有幾個人的眼眸里不是藏著幾滴淚。是啊,我心...
    陽光shalley閱讀 193評論 0 0

友情鏈接更多精彩內(nèi)容