這篇教程是在電腦上已經安裝好git的前提之上的,要進行如下配置,請先確保你的電腦已經安裝好git。如下配置步驟是在git bash裏面進行配置的,能夠經過 右鍵》 git bash here 打開git
在管理Git項目上,不少時候都是直接使用https url克隆到本地,固然也有有些人使用SSH url克隆到本地。github
這兩種方式的主要區別在於:使用https url克隆對初學者來講會比較方便,複製https url而後到git Bash裏面直接用clone命令克隆到本地就行了,可是每次fetch和push代碼都須要輸入帳號和密碼,這也是https方式的麻煩之處。shell
而使用SSH url克隆卻須要在克隆以前先配置和添加好SSH key,所以,若是你想要使用SSH url克隆的話,你必須是這個項目的擁有者。不然你是沒法添加SSH key的,另外ssh默認是每次fetch和push代碼都不須要輸入帳號和密碼,若是你想要每次都輸入帳號密碼才能進行fetch和push也能夠另外進行設置。前面的幾篇介紹Git的博客裏面採用的都是https的方式做爲案例,bash
今天主要是講述如何配置使用ssh方式來提交和克隆代碼。ssh
大概能夠分爲一下幾個步驟ide
設置Git的user name和email:(若是是第一次的話)檢查是否已經有SSH Key。生成密鑰添加密鑰到ssh-agent登錄Github, 添加 ssh 測試:一、設置Git的user name和email:(若是是第一次的話)測試
# 這裏的「xujun" 能夠替換成本身的用戶名git config --global user.name "xujun"# 這裏的郵箱 gdutxiaoxu@163.com 替換成本身的郵箱git config --global user.email "gdutxiaoxu@163.com"
檢查是否已經有SSH Key。fetch
cd ~/.ssh
接着輸入ls,加密
ls
列出該文件下的文件,看是否存在 id_isa 和 id_isa.pub 文件(也能夠是別的文件名,只要 yourName 和 yourName.pub 承兌存在),若是存在的話,證實已經存在 ssh key了,能夠直接跳過 生成密鑰 這一步驟,url
下圖是存在的狀況下
三、生成密鑰
# 這裏的郵箱 gdutxiaoxu@163.com 替換成本身的郵箱ssh-keygen -t rsa -C "gdutxiaoxu@163.com"
連續3個回車。若是不須要密碼的話。
最後獲得了兩個文件:id_rsa和id_rsa.pub。
默認的存儲路徑是:
C:\Users\Administrator\.ssh
四、添加密鑰到ssh-agent
確保 ssh-agent 是可用的。ssh-agent是一種控制用來保存公鑰身份驗證所使用的私鑰的程序,其實ssh-agent就是一個密鑰管理器,運行ssh-agent之後,使用ssh-add將私鑰交給ssh-agent保管,其餘程序須要身份驗證的時候能夠將驗證申請交給ssh-agent來完成整個認證過程。
# start the ssh-agent in the backgroundeval "$(ssh-agent -s)"
添加生成的 SSH key 到 ssh-agent。
ssh-add ~/.ssh/id_rsa
五、登錄Github, 添加 ssh 。
把id_rsa.pub文件裏的內容複製到這裏
六、測試:
ssh -T git@github.com
你將會看到:
Hi humingx! You've successfully authenticated, but GitHub does not provide shell access.
若是看到Hi後面是你的用戶名,就說明成功了。
擴展
若是我以前的倉庫是用https提交的,那麼我如今想用ssh 的方式提交,怎麼辦呢 ,別急,下面就來教你怎樣操做了。
這裏一樣以我本機目錄下的G://test 倉庫爲例子,
找到倉庫下 .git 文件夾下的config文件,打開,能夠看到如下內容
[core] repositoryformatversion = 0 filemode = false bare = false logallrefupdates = true symlinks = false ignorecase = true[remote "origin"] url = https://github.com/gdutxiaoxu/test.git fetch = +refs/heads/*:refs/remotes/origin/*[branch "master"] remote = origin merge = refs/heads/master
將文件中的 url = https://github.com/gdutxiaoxu/test.git 更改成 url = git@github.com:gdutxiaoxu/test.git 便可。
修改後的文件以下
[core] repositoryformatversion = 0 filemode = false bare = false logallrefupdates = true symlinks = false ignorecase = true[remote "origin"] url = git@github.com:gdutxiaoxu/test.git fetch = +refs/heads/*:refs/remotes/origin/*[branch "master"] remote = origin merge = refs/heads/master
進入本地倉庫 ,增長 xujun.txt 文件,提交,你會看到不須要再提交密碼了
遠程倉庫