想要獲取更多文章能夠訪問個人博客 - 代碼無止境。git
小代同窗在使用Git的過程當中發現,每次向遠程倉庫推送代碼的時候都須要輸入帳號密碼。作爲一個程序員,多多少少都會有偷懶的思惟。那麼如何才能避免每次都要輸入帳號密碼呢?一番研究以後,小代同窗發現了兩種實現方式。一種是讓Git記住密碼,第二種就是使用SSH協議推送。程序員
首先咱們須要準備一個和小代差很少的環境,這樣才能完整的模擬小代同窗的操做。第一步咱們須要在Github上建立一個倉庫,以下圖所示。github
git clone https://github.com/ganchaoyang/git-test.git
複製代碼
你會發現每次向遠程倉庫PUSH
代碼的時候都會提示輸入帳號密碼,以下所示:bash
root@server01:~/git-test# git push
Username for 'https://github.com': ganchaoyang
Password for 'https://ganchaoyang@github.com':
複製代碼
這樣,我本地就有了一個和小代同窗差很少的環境,下面咱們就一塊兒來看下小代同窗是如何操做的吧。dom
首先小代同窗嘗試的是第一種方式--記住密碼。這種方式只須要設置credential.helper = store
配置就能夠了。那麼怎麼設置呢?很簡單一行命令就能夠搞定。ssh
git config --global credential.helper store
複製代碼
執行完這句命令後,咱們會發如今用戶主目錄下的.git/config
文件裏面會多了一項配置。ide
[credential]
helper = store
複製代碼
而後咱們發現我只須要在第一次推送的時候輸入帳號密碼,第二次日後都不須要再輸入密碼了。--global
的配置是對該用戶全局生效的,若是你只想當前項目生效,在配置的時候只須要去掉--global
便可。固然了,若是你不想執行命令,直接Copy上面配置的內容到你的.git/config
文件裏面也是能夠的。學習
小代還發現一種能夠實現無需密碼就往遠程推送代碼的方式,那就是配置SSH KEY。那麼如何配置呢?
1.首先,咱們須要在咱們本地的機器上生成一對ssh的公私鑰。測試
root@server01:~/git-test# ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:iik07xiElU3zph5Gv3VbwSUEhRX9vpHhz1ZaRegndzw root@server01
The key's randomart image is: +---[RSA 2048]----+ | o .**o.. | | + o .. oo .| | o o o o. + | | o . + .oEB| |. + + . S . . .=*| | o = + + . o ++| | o = o . +=| | = ..+| | . . . | +----[SHA256]-----+ 複製代碼
中間的Enter passphrase
是讓你輸入密鑰的訪問密碼,若是不須要的話直接回車便可。公私鑰對默認生成在用戶主目錄下的.ssh/
目錄下。fetch
2.第二步咱們須要將公鑰複製到Github上。在用戶設置界面有個SSH and GPG keys
,咱們點擊它並選擇新建一個SSH key
,而後將公鑰複製進去便可。在Github上添加SSH公鑰的詳細操做步驟能夠參考官網的教程。
# 修改前
[remote "origin"]
url = https://github.com/ganchaoyang/git-test.git
fetch = +refs/heads/*:refs/remotes/origin/*
# 修改後
[remote "origin"]
url = git@github.com:ganchaoyang/git-test.git
fetch = +refs/heads/*:refs/remotes/origin/*
複製代碼
4.到這一步咱們已經完成了SSH的配置,只須要推送一下代碼測試一下便可。你會發現真的不須要密碼了。
$ git push
Enumerating objects: 5, done.
Counting objects: 100% (5/5), done.
Writing objects: 100% (3/3), 259 bytes | 259.00 KiB/s, done.
Total 3 (delta 0), reused 0 (delta 0)
To github.com:ganchaoyang/git-test.git
e8bcffc..6e1e8a9 master -> master
複製代碼
今天這篇文章主要介紹了兩種推送代碼無需輸入遠程倉庫帳號密碼的方式,分別是讓Git記住密碼以及配置SSH KEY
,但願可以對你有所幫助。
PS:學習不止,碼不停蹄!若是您喜歡個人文章,就關注我吧!