Git安裝以及配置SSH Key——Windows


安裝

  1. 安裝 Git
    官網下載一個Windows版本的Git。
  2. 然后一直下一步即可,如下圖
  3. 環境變量自動配好的,可以去檢查一下環境變量中PATH中有沒有Git的環境變量
  4. 然后在桌面右擊鼠標,選擇Git bash here,然后輸入下面代碼:
git --version  #驗證git是否安裝成功,輸出版本號就代表安裝成功

配置全局用戶名和郵箱

安裝完成有配置一下全局的用戶名和郵箱,輸入如下命令:

git config --global user.name "自定義用戶名"
git config --global user.email "郵箱"

使用如下命令可以取消全局設置:

git config --global --unset user.name
git config --global --unset user.email

可以使用如下命令查看當前的全局變量:

git config --global --list

生成SSH Key

管理多個SSH Key

問題說明

當有多個git賬號的時候,比如一個github,用於自己進行一些開發活動,再來一個gitlab,一般是公司內部的git。這兩者你的郵箱如果不同的話,就會涉及到一個問題,生成第二個git的key的時候會覆蓋第一個的key,導致必然有一個用不了。

解決方法

我們可以在【~/.ssh】目錄下新建一個config文件配置一下,就可以解決問題

具體步驟:

1. 生成

  • 生成第一個ssh key(這里我用的是公司的郵箱)
    進入【C:\Users\用戶名.ssh】,點擊鼠標右鍵-選擇Git bash here,這一步很重要,不然在下面輸入密鑰名稱的時候,會將密鑰生成在當前打開git bash的路徑下,比如我在桌面打開的git bash,就會生成在桌面上,當然也可以在輸入名稱前將路徑補全。如下圖:
ssh-keygen -t rsa -C "yourmail@glanway.com"

在輸入文件名及路徑的時候,生成的密鑰命名為【id_rsa_gitlab】,下面連續回車,沒有給密鑰設置密碼(看個人需求)

  • 生成第二個ssh key(這里用的我的GitHub郵箱)
ssh-keygen -t rsa -C "yourmail@qq.com"

生成后的文件如下圖:

2. 執行ssh-agent命令

ssh-agent就是一個密鑰管理器,運行ssh-agent以后,使用ssh-add將私鑰交給ssh-agent保管,其他程序需要身份驗證的時候可以將驗證申請交給ssh-agent來完成整個認證過程

3. 添加私鑰,執行下面命令

ssh-add ~/.ssh/id_rsa_github
ssh-add ~/.ssh/id_rsa_gitlab

在執行上面的添加私鑰命令時,如果出現如下錯誤:

解決方法如下:

  • 輸入如下命令查看已開啟的ssh-agent線程
ps aux | grep ssh
  • 執行如下命令殺死線程:
kill -9 線程號
  • 進入用戶名目錄下的.ssh目錄,打開git bash,執行如下命令
exec ssh-agent bash
eval ssh-agent -s
  • 再執行如下命令,將私鑰放進去
ssh-add ./id_rsa_github
ssh-add ./id_rsa_gitlab

4. 創建並修改config文件

  • 創建config文件,將文件創建在【.ssh】目錄下

      ①在windows下新建一個txt文本,然后將名字改成config(包括.txt后綴)
      ②在git bash下,直接touch config即可創建一個config文件
    
  • 編輯config文件,修改如下內容:

# gitlab
Host gitool.glanway.com
HostName gitool.glanway.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/id_rsa_gitlab
User mingyue

# github
Host github.com
HostName github.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/id_rsa_github
User mingyue

配置文件說明:

每個賬號單獨配置一個Host,每個Host要取一個別名,每個Host主要配置HostNameIdentityFile兩個屬性即可
Host的名字可以取為自己喜歡的名字,不過這個會影響git相關命令

例如:

Host mygithub 這樣定義的話,命令如下,即git@后面緊跟的名字改為mygithub
git clone git@mygithub:PopFisher/AndroidRotateAnim.git
就相當於你配置的HostName真正的域名,映射成了Host后面的配置的名字

HostName                      #這個是真實的域名地址
IdentityFile                  #這里是id_rsa的地址
PreferredAuthentications      #配置登錄時用什么權限認證--可設置publickey,password publickey,keyboard-interactive等
User                          #配置使用用戶名

【注意】不要在配置文件中添加下面這樣的注釋
這種注釋在讀取該配置文件時會導致報錯,不被識別

HostName git.glanway.com //這里填你們公司的git網址即可

生成單個ssh key

輸入如下命令,

ssh-keygen -t rsa -C "yourmail@xxxl.com"

生成單個SSH Key時可以連續回車,不輸入密鑰文件名字和密碼:

生成后會在【C:\Users\用戶名.ssh】下產生兩個文件,如圖:

將公鑰添加到gitlab或者GitHub上

測試

輸入如下代碼,見到下圖即配置成功

ssh -T git@github.com
ssh -T git@gitool.glanway.com

轉載自:https://www.cnblogs.com/Gent-Wang/p/7422433.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM