1. 安裝git
#Ubuntu系統(tǒng)
sudo apt-get install git
#windows系統(tǒng)
下載安裝msysGit
2. 安裝完成后,還需要最后一步設(shè)置,在命令行輸入:
$ git config --global user.name "git-username"
$ git config --global user.email "git-email"
git config是用于進(jìn)行一些配置設(shè)置,有三種不同的方式來指定這些配置適用的范圍:
- git config
針對一個git倉庫,默認(rèn)當(dāng)前目錄是一個git倉庫,假設(shè)我們有一個倉庫叫g(shù)it_test,它所修改配置保存在git_test/.git/config文件 - git config --global
針對一個用戶,適用于當(dāng)前用戶,也就是說只要是這個用戶操作任何git倉庫,那么這個配置都會生效,這種配置保存在/.gitconfig當(dāng)中,msysGit的根目錄是C:\Users\用戶名下,linux系統(tǒng)在用戶目錄下。 - sudo git config --system
針對一個系統(tǒng),所以必須使用sudo,適用于一個系統(tǒng)中所有的用戶,也就是說這里的配置對所有用戶都生效,那什么樣的配置需要放在這里呢,比如我們在執(zhí)行g(shù)it commit會彈出一個默認(rèn)的編輯器,一般是vim,那作為系統(tǒng)的管理員,可以將vim設(shè)置為所有用戶默認(rèn)使用的編輯器
在不同的配置文件中,對同一個變量進(jìn)行了設(shè)置,最終哪個會生效呢?
其優(yōu)先級是:1)>2)>3),優(yōu)先遵守當(dāng)前文件夾所在的倉庫的配置信息。
例如:
# 配置全局賬戶(配置文件位于 ~/.gitconfig中)
git config --global user.name "your_name" # 如果是提到github上,your_name最好是你的github賬戶的名字
git config --global user.email "your_email@example.com" # 如果是提到github上,your_email@example.com最好是你的github賬戶的郵箱
# 配置本地倉庫賬戶 (配置文件位于當(dāng)前倉庫目錄的.git/config中)
git config [--local] user.name "your_name_in_company" # 如果是提到github上,your_name最好是你的github賬戶的名字
git config [--local] user.email "your_company_email@example.com" # 如果是提到github上,your_email@example.com最好是你的github賬戶的郵箱
3. git用戶與github用戶的建立聯(lián)系
- GitHub信息:
- 注冊時,需要設(shè)置github-username、github-email、github-password
- 注冊后,可以另外設(shè)置自己的name和email,只是用于對外展示(和注冊時的github-username、github-email沒有關(guān)系)
- Git信息
- 安裝后,需要設(shè)置用戶名,郵箱
$ git config --global user.name "git-username"
$ git config --global user.email "git-email"
- 關(guān)聯(lián)ssh-key
本地Git倉庫和GitHub倉庫之間的傳輸是通過SSH加密的
ssh-key的配置:
1. Windows下打開Git Bash,創(chuàng)建SSH Key,按提示輸入密碼,可以不填密碼一路回車,由于這個Key也不是用于軍事目的,所以也無需設(shè)置密碼。
$ ssh-keygen -t rsa -C "git-email"
2. 然后用戶主目錄/.ssh/下會生成兩個文件,id_rsa是私鑰,不能泄露出去,id_rsa.pub是公鑰,可以放心地告訴任何人。id_rsa.pub文件里面的內(nèi)容就是key的內(nèi)容
3. 登錄GitHub,打開"Settibgs->SSH Keys"頁面,然后,點“Add SSH Key”,填上任意Title,在Key文本框里粘貼id_rsa.pub文件的內(nèi)容:
圖示
4. 測試ssh key是否成功,使用命令“ssh -T git@github.com”,如果出現(xiàn)You’ve successfully authenticated, but GitHub does not provide shell access。這就表示已成功連上github。
- 聯(lián)系
關(guān)聯(lián)ssh-key保證了:設(shè)置為git-email的git用戶可以對注冊為github-email的github用戶的倉庫進(jìn)行操作
如果git-email和github-email不一致,則即使github-username和git-username用戶名相同,用戶在本地git和在github上操作也會被認(rèn)為是不同的用戶在操作,意味著:github-email用戶創(chuàng)建了倉庫,git-email用戶從本地上傳的代碼
如果git-email和github-email一致,則認(rèn)為是同一用戶,意味著:用戶在本地git上操作再push到github上,和直接在github上操作沒有區(qū)別
