git 入門教程之github 教程

雪之夢技術驛站發表於2019-03-29

github 教程

github 是一個基於 git 的程式碼託管平臺,是平時工作學習的好幫手,學會如何用好 github 網站能夠幫助我們更好分享程式碼或者與其他開發人員合作.

github.png

註冊 github 賬號

首先準備好郵箱和密碼,然後在 github 官網註冊新賬號,和大多數網站類似的註冊流程,唯一注意的是你要想好註冊型別,針對個人使用者來說,一般無外乎個人賬號和專案賬號兩種,比如 snowdreams1006 就認為是個人賬號,而這種 security-plus 認為是專案賬號.

其實這兩種賬號對於 github 來說是一樣的,不像是個人賬號同企業賬號的差異那麼大,那為什麼稱個人賬號和專案賬號呢? 是因為,大多數個人開發者名下會有多款開源作品,這些作品既可以全部掛載在某一個開發者賬號下面,也可以單獨掛載某一個開發者賬號下面,如果此時的賬號名恰好是專案名豈不是清晰多了?

因為個人剛開始可能並沒多大名氣,如果一個產品直接掛載在個人名下,那麼這個產品很大程度上就依賴於個人名氣了,所以不妨反過來,用產品說話,事實勝於雄辯,這種做法也是一種常用的宣傳手段,很多個人開源產品正是這麼做的!

除此之外專案賬號還有一個好處,利用 github 的靜態網站託管服務可以免費快速搭建專案官網,只要建立一個snowdreams1006.github.io 的專案,那麼這個專案就可以作為靜態網站的原始碼專案了,訪問 snowdreams1006.github.io 就能看到專案官網了!

注意: snowdreams1006僅僅是筆者使用者名稱,實際需要替換成讀者的使用者名稱

snowdreams1006.github.io.png

配置 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).

github-setting.png
github-ssh.png

第四步: 驗證 ssh

利用 ssh 協議測試一下是否能夠正常訪問 github 網站,如果出現成功提示,那就證明我們的配置沒問題.

ssh -T git@github.com
複製程式碼

建立遠端倉庫

登入 github 網站新建遠端倉庫(New Repository),例如git-demo,預設許可權是公開的(public),也可以選擇私有的(private),初始化 README.md 檔案和 .gitignore 檔案以及選擇開源協議這些都是可選的,視具體情況而定.

github-new-repository.png

重新整理當前頁面,應該能到看到已建立好的git-demo 專案,接下來準備將其克隆到本地電腦.

github-repository-created.png

克隆到本地倉庫

將遠端專案克隆到本地工作空間,和之前本地倉庫的開發流程一樣,例如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.

github-repository-updated.png

新增倉庫關聯

新增本地倉庫和遠端倉庫之間關聯,預設本地倉庫分支名和遠端倉庫分支名相同

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
複製程式碼

相關文章