本章學習: 1)熟悉github網站 2)通過git命令遠程管理github, 3)git命令使用ssh key密鑰無需輸入賬號密碼 1.首先我們來熟悉github網站 1.1 註冊github 登錄http://github.com/,然後點擊sign up,來註冊賬戶: 註冊好了,以及驗證郵箱後 ...
本章學習:
- 1)熟悉github網站
- 2)通過git命令遠程管理github,
- 3)git命令使用ssh key密鑰無需輸入賬號密碼
1.首先我們來熟悉github網站
1.1 註冊github
登錄http://github.com/,然後點擊sign up,來註冊賬戶:
註冊好了,以及驗證郵箱後,然後進入github主頁:
1.2點擊start a project(啟動第一個項目)
1.3創建好後,就會跳轉到剛剛創建好的test2倉庫(項目)主頁,如下兩張圖所示
- 圖1:
- 圖2:
先來介紹下上圖常用的幾個單詞
- repostory
倉庫,也就是項目的意思,有多個項目就代表有多個倉庫
- star
收藏項目,收藏的數目越多,說明項目越好
- fork
將源作者的項目克隆一份到自己的項目中
- pull request
拉請求,指如上圖的pull request.
比如:別人通過fork你的項目後,並改進了項目,向你發送了new pull request請求,
然後你點擊pull request按鈕,進去後,會出現如下圖所示:
再點擊Merge pull request,則可以將改進的內容合併到自己的項目里,
- watch
關註項目,當你關註的某個倉庫更新時,便會通知在你的github主頁上
- lssues
問題,點擊進去就可以看到所有人提出的問題,比如項目有bug等.
當自己想發表問題時,則點擊lssues->new lssues,如下圖所示:
1.4接下來,我們點擊倉庫主頁的create new file,來創建一個文件:
提交後,便會返回我們test2倉庫主頁里:
然後點擊commits提交按鈕,便可以看到剛剛創建main.c的詳細信息:
PS:當我們錯誤刪除了一個文件,也可以通過commits按鈕,來找到以前刪除的文件
1.5 學習如何來更改倉庫名稱和刪除倉庫
在倉庫主頁里點擊settings(倉庫設置),如下圖所示(以test3為例):
然後便會跳轉到下個界面,就可以更改倉庫名稱了:
繼續往下翻,就可以找到刪除倉庫了:
2.使用git管理github
2.1安裝git
下載地址:https://www.git-scm.com/download/win
(若慢的話,則進入http://www.wmzhe.com/soft-38801.html下載)
下載好後,直接預設安裝即可,若只喜歡命令行模式,則在組件界面取消git gui here即可,如下圖所示:
安裝好後,如下圖所示,即可通過linux命令來操作git命令:
若在linux上安裝git,直接輸入:
apt-get install git
2.2 配置git
git config --global user.name "lifeyx" //個人賬號 git config --global user.email 123456@qq.com //個人郵箱地址
上面的--global選項,表示以後管理git庫時,預設使用上面的用戶信息,也可以通過git config -l 來查看配置信息
2.3 git命令介紹
1)介紹之前,首先來講解下git的3個區域如下圖所示
上圖的git倉庫,是指本地倉庫,不會更新到遠程倉庫(github網頁上的倉庫),需要使用git push -u origin master命令才行
2)然後來講解下git常用命令
git init
對當前目錄進行git管理,該目錄便會成為工作區,併在當前目錄下會出現個.git隱藏目錄.
該.git里會保存git所需要的數據和資源,也就是git倉庫和暫存區都會保存在.git里
git clone https://github.com/lifeyx/test2.git
克隆複製遠程倉庫到當前目錄,生成test2文件夾,裡面會自動創建.git目錄,並保存遠程倉庫信息
該遠程倉庫地址通過下圖的紅框里獲取:
git status
查看工作目錄下文件的狀態,是否add添加到了暫存區,以下圖為例:
git add file
將工作區的文件添加到暫存區
git rm file
將暫存區的文件刪除掉,若工作區文件存在,則需要使用git rm -f file來強制刪除掉
git commit -m “提交描述”
將暫存區里的文件提交到本地倉庫,若暫存區某個文件被刪除掉,則會刪除倉庫里的文件
git commit -am “提交描述”
-a:跳過暫存區,git自動將工作區里記錄的所有文件添加到暫存區並一起提交,從而跳過git add步驟
git remote add origin https://github.com/lifeyx/test3.git
添加遠程倉庫(origin),也就是關聯本地倉庫和github倉庫,該遠程倉庫地址通過下圖的紅框里獲取:
git push -u origin master
推送(同步)數據到遠程倉庫,若是本地上傳,必須先使用上個命令來指定遠程倉庫地址(origin),
若是從遠程倉庫克隆複製的,則不需要,因為.git里會自動保存遠程倉庫地址.
2.4 git管理遠程倉庫-實例1
實例1步驟,通過創建新的遠程倉庫,然後將本地的數據推送(同步)到遠程倉庫里
1)首先創建新的遠程倉庫,以test3為例
然後找到遠程倉庫地址為: https://github.com/lifeyx/test3.git
2)進入github命令行,輸入
mkdir test3 cd test3 echo "項目描述test3" >> README.md git init //初始化git vi 1.txt //創建1.txt git add README.md //添加README.md git add 1.txt //添加1.txt git commit -m "第一次提交文件" //提交到本地倉庫 git remote add origin https://github.com/lifeyx/test3.git //連接遠程倉庫地址 git push -u origin master //上傳到遠程倉庫地址,並輸入賬號密碼
3)查看結果
2.5 git管理遠程倉庫-實例2
實例2步驟,就是通過克隆來將遠程倉庫下載到本地,然後本地修改數據後,並推送(同步)數據到遠程倉庫
1)通過以前的遠程倉庫test2為例
如下圖所示,可以看到test2倉庫更新時間都是處於1天前的:
然後通過上圖的綠色按鈕,找到test2地址為: https://github.com/lifeyx/test2.git
2)進入github命令行,輸入
git clone https://github.com/lifeyx/test2.git //下載test2倉庫 cd test2 //進入倉庫 vi 1.txt //創建1.txt git add 1.txt //添加1.txt git commit -m "第二天提交文件" //提交到本地倉庫 git push -u origin master //上傳到遠程倉庫地址,並輸入賬號密碼
PS:
由於git clone會自動生成.git隱藏目錄,所以上面無需git init命令初始化。
而且.git目錄里保存了遠程倉庫地址,所以上面無需git remote命令連接遠端。
3)查看結果
3.每次上傳到遠程倉庫地址時,都要輸入賬號密碼,是不是很麻煩?
接下來便通過ssh key密鑰,使主機與伺服器連接連接, 這樣就不用每次輸入賬號密碼
3.1生成ssh key
首先通過ls ~/.ssh命令,查看是否已有ssh key,若有的話,先備份,然後通過rm -rf ~/.ssh來刪除
1)輸入,創建密鑰
ssh-keygen -t rsa -C "[email protected]" // "..."里輸入郵箱號
2)然後會提示設置密碼,直接連按3個回車,表示密碼為空
3)將新生成的key添加到ssh-agent中
eval "ssh-agent -s" ssh-add ~/.ssh/id_rsa
4)若顯示Could not open a connection to your authentication agent.,則繼續輸入
ssh-agent bash
ssh-add ~/.ssh/id_rsa
如下圖所示,出現Identity added欄位,則表示寫入成功,ssh key公鑰便保存在id_rsa.pub文件中了:
5)然後通過cat ~/.ssh/id_rsa.pub 將ssh key公鑰列印出來,並複製
3.2將複製的ssh key公鑰添加到github中
跳轉頁面後,title標題隨意寫,將ssh key複製到key框里即可
3.3測試ssh key
輸入ssh [email protected],如下圖所示,顯示Hi youname! ,則表示成功了
3.4成功後,就可以使用git協議來下載倉庫. 還是以test2倉庫為例
1)首先查看test2倉庫的ssh協議的地址(之前是http協議地址)
如上圖所示,點擊紅框後, 首碼https://變為了git@
2)然後進入github命令行,來測試
git clone [email protected]:lifeyx/test2.git //下載test2倉庫 cd test2 //進入倉庫 vi 2.txt //創建2.txt git add 2.txt //添加2.txt git commit -m "第二天提交文件" //提交到本地倉庫 git push origin master //無需輸入密碼來上傳
測試成功,以後就可以不用在輸密碼了,謝謝各位閱讀~