1. 程式人生 > >初次安裝git配置使用者名稱和郵箱以及git如何使用ssh金鑰

初次安裝git配置使用者名稱和郵箱以及git如何使用ssh金鑰

一、初次安裝git需要配置使用者名稱和郵箱,否則git會提示:please tell me who you are.
在這裡插入圖片描述

你需要執行命令來配置你的使用者名稱和郵箱:

$ git config --global user.name "******"

$ git config --global user.email "******"

注意:(引號內請輸入你自己設定的名字,和你自己的郵箱)此使用者名稱和郵箱是git提交程式碼時用來顯示你身份和聯絡方式的,並不是github使用者名稱和郵箱

二、git使用ssh金鑰
git支援https和git兩種傳輸協議,github分享連結時會有兩種協議可選:
git協議連結圖例 : ↓
在這裡插入圖片描述


https協議連結圖例:↓
在這裡插入圖片描述
git使用https協議,每次pull, push都會提示要輸入密碼,使用git協議,然後使用ssh金鑰,這樣免去每次都輸密碼的麻煩

初次使用git的使用者要使用git協議大概需要三個步驟:
一、生成金鑰對
二、設定遠端倉庫(本文以github為例)上的公鑰
三、把git的 remote url 修改為git協議(以上兩個步驟初次設定過以後,以後使用都不需要再次設定,此步驟視以後專案的remote url而定,如果以後其他專案的協議為https則需要此步驟)

  • 一、生成金鑰對*
    大多數 Git 伺服器都會選擇使用 SSH 公鑰來進行授權。系統中的每個使用者都必須提供一個公鑰用於授權,沒有的話就要生成一個。生成公鑰的過程在所有作業系統上都差不多。首先你要確認一下本機是否已經有一個公鑰。

SSH 公鑰預設儲存在賬戶的主目錄下的 ~/.ssh 目錄。進去看看:

$ cd ~/.ssh
$ ls
authorized_keys2  id_dsa       known_hosts config            id_dsa.pub

看一下有沒有id_rsa和id_rsa.pub(或者是id_dsa和id_dsa.pub之類成對的檔案),有 .pub 字尾的檔案就是公鑰,另一個檔案則是金鑰。

假如沒有這些檔案,甚至連 .ssh 目錄都沒有,可以用 ssh-keygen 來建立。該程式在 Linux/Mac 系統上由 SSH 包提供,而在 Windows 上則包含在 MSysGit 包裡:

$ ssh-keygen -t rsa -C "[email protected]"

Creates a new ssh key using the provided email # Generating public/private rsa key pair.

Enter file in which to save the key (/home/you/.ssh/id_rsa):

直接按Enter就行。然後,會提示你輸入密碼,如下(建議輸一個,安全一點,當然不輸也行,應該不會有人閒的無聊冒充你去修改你的程式碼):

Enter same passphrase again: [Type passphrase again]

完了之後,大概是這樣:

Your public key has been saved in /home/you/.ssh/id_rsa.pub.
The key fingerprint is: # 01:0f:f4:3b:ca:85:d6:17:a1:7d:f0:68:9d:f0:a2:db [email protected]

到此為止,你本地的金鑰對就生成了。

二、新增公鑰到你的遠端倉庫(github)

1、檢視你生成的公鑰:

$ cat ~/.ssh/id_rsa.pub

ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC0X6L1zLL4VHuvGb8aJH3ippTozmReSUzgntvk434aJ/v7kOdJ/MTyBlWXFCR+HAo3FXRitBqxiX1nKhXpHAZsMciLq8vR3c8E7CjZN733f5AL8uEYJA+YZevY5UCvEg+umT7PHghKYaJwaCxV7sjYP7Z6V79OMCEAGDNXC26IBMdMgOluQjp6o6j2KAdtRBdCDS/QIU5THQDxJ9lBXjk1fiq9tITo/aXBvjZeD+gH/Apkh/0GbO8VQLiYYmNfqqAHHeXdltORn8N7C9lOa/UW3KM7QdXo6J0GFlBVQeTE/IGqhMS5PMln3 admin@admin-PC

2、登陸你的github帳戶。點選你的頭像,然後 Settings -> 左欄點選 SSH and GPG keys -> 點選 New SSH key

3、然後你複製上面的公鑰內容,貼上進“Key”文字域內。 title域,自己隨便起個名字。

4、點選 Add key。

完成以後,驗證下這個key是不是正常工作:

$ ssh -T [email protected]

Attempts to ssh to github

如果,看到:

Hi xxx! You've successfully authenticated, but GitHub does not # provide shell access

恭喜你,你的設定已經成功了。

三、修改git的remote url*
使用命令 git remote -v 檢視你當前的 remote url

$ git remote -v
origin https://github.com/someaccount/someproject.git (fetch)
origin https://github.com/someaccount/someproject.git (push)

如果是以上的結果那麼說明此專案是使用https協議進行訪問的(如果地址是git開頭則表示是git協議)

你可以登陸你的github,就像本文開頭的圖例,你在上面可以看到你的ssh協議相應的url,類似:
在這裡插入圖片描述

複製此ssh連結,然後使用命令 git remote set-url 來調整你的url。

git remote set-url origin [email protected]:someaccount/someproject.git

然後你可以再用命令 git remote -v 檢視一下,url是否已經變成了ssh地址。

然後你就可以愉快的使用 git fetch , git pull , git push, 再也不用輸入煩人的密碼了。