很久沒有寫過博客了,只因人生世事無常!java
前言:說實話,早就據說了Git這個代碼管理工具的NB之處,卻一直沒有時間好好學習下。如今終於有時間學習一下這個偉大的工具,在此寫下在學習過程當中遇到的問題!git
推薦學習的博客地址:http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000github
這位大大寫的真不錯,若是對於代碼管理工具沒有什麼概念的同窗能夠好好學習下!下面開始進入正題!服務器
操做環境:win7 Professional 、Git工具:Git Bashssh
在學習廖大大這篇教程以前,我對git的印象基本就是它是一個代碼託管平臺,至於怎麼用徹底不知所云。在學習了基礎在本地git命令操做以後,就要開始學習怎麼把本身寫的代碼放到GitHub這個神奇的網站上去了,怎麼託管。首先要讓你本地的git工具與遠程的GitHub創建起聯繫這就是--添加遠程倉庫。以後咱們才能方便的進行代碼的同步等等的操做工具
前提:在本地你要先用所學的git命令,創建好一個本地的git項目。我這裏用的項目爲demogit。這裏的添加遠程倉庫是以SSH協議的方式進行的添加。學習
第一步:建立SSH key,進行本身的主目錄下(C:/此處爲用戶名/.ssh)。若是之前沒有添加過遠程倉庫這裏默認將會是空的。若是添加過將會有如下兩個文件:id_rsa 和 id_rsa.pub 以下圖(其中id_rsa
是私鑰,不能泄露出去,id_rsa.pub
是公鑰,能夠放心地告訴任何人):網站
若是沒有請在Git Bash中執行命令: spa
ssh-keygen -t rsa -C "youremail@example.com"
接下來一路回車就能夠,最後以下圖(PS:個人爲從新生成了一次能夠有部分地方不太同樣):code
第二步:登陸GitHub添加SSH key
登陸到GitHub之後,打開「setting」,而後到「SSH keys」選項,以下圖:
點擊「Add key」,就添加上了,SSH key。
如下引用廖大大的話:
爲何GitHub須要SSH Key呢?由於GitHub須要識別出你推送的提交確實是你推送的,而不是別人冒充的,而Git支持SSH協議,因此,GitHub只要知道了你的公鑰,就能夠確認只有你本身才能推送。
固然,GitHub容許你添加多個Key。假定你有若干電腦,你一下子在公司提交,一下子在家裏提交,只要把每臺電腦的Key都添加到GitHub,就能夠在每臺電腦上往GitHub推送了。
最後友情提示,在GitHub上免費託管的Git倉庫,任何人均可以看到喔(但只有你本身才能改)。因此,不要把敏感信息放進去。
第三步:在GitHub網站上建立對應的項目
一、登陸GitHub,點擊「Create reposity」
建立成功以後,以下圖:
在建立好以後的頁面提示中有三種方式讓你在Git工具中進行運程提交項目,這裏咱們選擇第二種。
二、在Git Bash中輸入下命令:
git remote add origin git@github.com:javaSwing/demogit.git
請注意這裏的javaSwing爲個人用戶ID,demogit爲的當前項目名稱。再輸入命令時請改成本身的(不然將推送不成功)。
三、以後在Git Bash中輸入如下命令:
git push -u origin master
把本地庫推送到遠程,使用的是git push命令,這裏使用的 –u 參數爲把本地的master分支和遠程的master分支進行合併,同時還把本地的master分支和運程的進行關聯方便之後的項目推送。
命令顯示結果以下:
zhang@ZHANG-PC ~/demogit (master) $ git remote add origin git@github.com:javaSwing/demogit.git zhang@ZHANG-PC ~/demogit (master) $ git push -u origin master The authenticity of host 'github.com (192.30.252.128)' can't be established. RSA key fingerprint is 16:27:ac:a5:76:28:2d:36:63:1b:56:4d:eb:df:a6:48. Are you sure you want to continue connecting (yes/no)? yes Warning: Permanently added 'github.com,192.30.252.128' (RSA) to the list of know n hosts. Counting objects: 3, done. Writing objects: 100% (3/3), 247 bytes | 0 bytes/s, done. Total 3 (delta 0), reused 0 (delta 0) To git@github.com:javaSwing/demogit.git * [new branch] master -> master Branch master set up to track remote branch master from origin. zhang@ZHANG-PC ~/demogit (master)
推送以後遠程的git倉庫就和本地的同樣了。
這裏須要注意的是:
在SSH進行第一次的提交的時候會提示警告:
The authenticity of host 'github.com (192.30.252.128)' can't be established. RSA key fingerprint is 16:27:ac:a5:76:28:2d:36:63:1b:56:4d:eb:df:a6:48. Are you sure you want to continue connecting (yes/no)? yes
yes
回車便可。
Are you sure you want to continue connecting (yes/no)? yes Warning: Permanently added 'github.com,192.30.252.128' (RSA) to the list of know n hosts.
另處我也是寫出我本身在學習過種遇到的一個錯誤:
這裏提示個人端口不能用,知道是爲何嗎?這個錯誤讓我整整查了3個小時在StackOverFlow上。
其實緣由很簡單:我把github寫成了githup.
因此現學習的過程當中必定要注意細節!!!!!!!!!!