github 教程
github
是一個基於 git
的程式碼託管平臺,是平時工作學習的好幫手,學會如何用好 github
網站能夠幫助我們更好分享程式碼或者與其他開發人員合作.
註冊 github 賬號
首先準備好郵箱和密碼,然後在 github 官網註冊新賬號,和大多數網站類似的註冊流程,唯一注意的是你要想好註冊型別,針對個人使用者來說,一般無外乎個人賬號和專案賬號兩種,比如 snowdreams1006 就認為是個人賬號,而這種 security-plus 認為是專案賬號.
其實這兩種賬號對於 github
來說是一樣的,不像是個人賬號同企業賬號的差異那麼大,那為什麼稱個人賬號和專案賬號呢?
是因為,大多數個人開發者名下會有多款開源作品,這些作品既可以全部掛載在某一個開發者賬號下面,也可以單獨掛載某一個開發者賬號下面,如果此時的賬號名恰好是專案名豈不是清晰多了?
因為個人剛開始可能並沒多大名氣,如果一個產品直接掛載在個人名下,那麼這個產品很大程度上就依賴於個人名氣了,所以不妨反過來,用產品說話,事實勝於雄辯,這種做法也是一種常用的宣傳手段,很多個人開源產品正是這麼做的!
除此之外專案賬號還有一個好處,利用 github
的靜態網站託管服務可以免費快速搭建專案官網,只要建立一個snowdreams1006.github.io
的專案,那麼這個專案就可以作為靜態網站的原始碼專案了,訪問 snowdreams1006.github.io 就能看到專案官網了!
注意: snowdreams1006僅僅是筆者使用者名稱,實際需要替換成讀者的使用者名稱
配置 github
既然專案已經託管到 github
網站,那本地如何訪問到遠端倉庫呢?常用的方式有兩種,一種是 https
方式,每次都需要輸入密碼,另外一種是 ssh
方式,只需要一次配置ssh
金鑰對.
這裡我們重點介紹最常用也是最方便的第二種 ssh
方式訪問 github
,大致思路是本地生成金鑰對,然後將公鑰上傳給 github
表明身份,之後本地再次推送給遠端倉庫時,github
自然就能識別到我們身份了.
第一步: 生成金鑰對
預設情況下,會在當前使用者目錄下生成一對金鑰對.
ssh-keygen -t rsa -C "youremail@example.com"
複製程式碼
這裡的郵箱 youremail@example.com
需要填寫自己的 github
郵箱,之後會提示輸入路徑和密碼,一路回車採用預設值即可,執行結束後會在當前使用者目錄下
生成一對金鑰對,包括公鑰和私鑰.其中公鑰可以傳送給任何人,而私鑰千萬不可洩露.
第二步: 複製公鑰
在當前使用者根目錄下開啟 .ssh
目錄,其中包括兩個檔案,一個是公鑰 id_rsa.pub
,另一個是私鑰 id_rsa
,用記事本或者其他方式開啟公鑰檔案,複製其中內容,準備貼上到github
相關設定項.
# 檢視當前使用者下的 ssh 目錄
ls ~/.ssh
# 檢視生成的公鑰內容
cat ~/.ssh/id_rsa.pub
複製程式碼
第三步: 設定 github
回到 github
,點選頭像(Acount),選擇設定(Settings),再選擇左側的 SSH and GPG keys,點選右側的NEW SSH Key,然後填寫標題(Title),最好是有意義的名稱,比如youremail@example.com for github
,金鑰(Key)填寫上一邊生成的公鑰,一般是以ssh-rsa
開頭的一大串字元,最後儲存(Add SSH Key).
第四步: 驗證 ssh
利用 ssh
協議測試一下是否能夠正常訪問 github
網站,如果出現成功提示,那就證明我們的配置沒問題.
ssh -T git@github.com
複製程式碼
建立遠端倉庫
登入 github
網站新建遠端倉庫(New Repository),例如git-demo
,預設許可權是公開的(public),也可以選擇私有的(private),初始化 README.md
檔案和 .gitignore
檔案以及選擇開源協議這些都是可選的,視具體情況而定.
重新整理當前頁面,應該能到看到已建立好的git-demo
專案,接下來準備將其克隆到本地電腦.
克隆到本地倉庫
將遠端專案克隆到本地工作空間,和之前本地倉庫的開發流程一樣,例如add commit status
等等,唯一不同的是,多了一步 push
命令,即本地倉庫的最新版本需要推送給遠端倉庫中,只有這樣其他小夥伴才能從遠端倉庫拉取最新版本,進而才能看到你的程式碼,因而打破各自為政局面,實現團隊協同開發.
# 克隆到本地倉庫
git clone git@github.com:snowdreams1006/git-demo.git
# 切換到當前專案
cd git-demo
# 建立新檔案
touch test.txt
echo "add test.txt" > test.txt
# 新增檔案到暫存區
git add test.txt
# 提交檔案到本地倉庫
git commit -m "add test.txt"
# 推送到遠端倉庫
git push origin master
複製程式碼
提交完成後,登入 github
網站,重新整理當前專案 git-demo
,應該能看到我們剛剛提交的新檔案test.txt
.
新增倉庫關聯
新增本地倉庫和遠端倉庫之間關聯,預設本地倉庫分支名和遠端倉庫分支名相同
git remote add origin2 git@github.com:snowdreams1006/git-demo.git
複製程式碼
檢視遠端倉庫
檢視當前配置有哪些遠端倉庫
git remote
複製程式碼
執行時加上
-v
引數能夠檢視別名關聯的具體地址,即git remote -v
下載遠端倉庫
從遠端倉庫下載最新分支資料
git fetch
複製程式碼
注意: 該命令並不會自動合併當前分支,如需要合併,需手動執行
git merge
命令
拉取遠端倉庫
從遠端倉庫拉取最新分支資料,自動嘗試合併到當前分支,如有衝突,需先解決衝突再合併到當前分支.
git pull
複製程式碼
git pull 相當於 git fetch + git merge
推送遠端分支
將本地最新版本推送到遠端倉庫
git push origin master
複製程式碼
以上命令將本地 master
分支推送到 origin
遠端倉庫的 master
分支
刪除遠端倉庫
git remote rm origin
複製程式碼