GitHub & Git 入門(mén)教程

什么是GitHub

每當(dāng)了解一個(gè)新玩意的時(shí)候首先我想知道的總是這玩意到底是個(gè)啥。GitHub嘛,不就是為開(kāi)發(fā)者提供 Git 倉(cāng)庫(kù)的托管服務(wù)嘛,同時(shí)你可以分享你的倉(cāng)庫(kù)給任何人,通俗來(lái)說(shuō),大致上就像一個(gè)可以查文件修改歷史的網(wǎng)盤(pán)。你可以不斷得提交你修改的文件(這里的文件可以是你寫(xiě)的小說(shuō)啊,你制作的視頻啊,你偷藏的電子書(shū)啊,還可以是你辛辛苦苦抹的代碼),同時(shí)可以恢復(fù)到舊的版本。還可以邀請(qǐng)其他人來(lái)和你一起改你的文件。差不多就是這么個(gè)簡(jiǎn)單的玩意兒。當(dāng)然,在你了解了之后會(huì)發(fā)現(xiàn),他還有很多666的功能。OK,我來(lái)附上官方網(wǎng)址,大家可以先看看這哥們的樣子。另外這里有GitHub被玩壞的LOGO。

什么是Git

Git 屬于分散型版本管理系統(tǒng),是為版本管理而設(shè)計(jì)的軟件。它是由Linux 的創(chuàng)始人 Linus Torvalds 在 2005 年開(kāi)發(fā)了的原型程序發(fā)展而來(lái)。其性能和功能自然沒(méi)的說(shuō),用過(guò)的基佬都說(shuō)好~

注冊(cè)使用GitHub

官方網(wǎng)址注冊(cè)就好了沒(méi)啥特別說(shuō)明的地方。注冊(cè)之后包括倉(cāng)庫(kù)、分支的創(chuàng)建等官方都給出了圖文教程,這里不再贅述。雖然是英文版的,但是希望大家能耐著性子看看(已經(jīng)熟悉的同學(xué)可以直接忽略),更多官方教程可以看這里。

安裝Git

扯了半天沒(méi)用的,趕緊進(jìn)入正題,要想使用GitHub,首先我們需要安裝Git,MAC和linux系統(tǒng)不必多說(shuō)了,一般現(xiàn)在的系統(tǒng)都是默認(rèn)安裝Git,我就只說(shuō)一下windows的安裝,首先當(dāng)然是下載Git for windows(或者從這里下載也可以),下載完成后安裝,這里對(duì)幾個(gè)安裝選項(xiàng)進(jìn)行簡(jiǎn)單的說(shuō)明,配置好一路next,最后點(diǎn)擊install就完成安裝了(下圖是我在安裝時(shí)勾選的選項(xiàng))。

git_install1.jpg
git_install2.jpg
git_install3.jpg
git_install4.jpg
git_install5.jpg

使用Git

初始設(shè)置

設(shè)置姓名和郵箱(該設(shè)置會(huì)在~/.gitconfig中生成配置,并且在提交時(shí)會(huì)被公開(kāi)哦~):

//設(shè)置姓名
git config --global user.name "L.T.Any"
//設(shè)置郵箱
git config --global user.email "linetoanywhere@gmail.com"
//設(shè)置輸出內(nèi)容高亮
git config --global color.ui auto

設(shè)置SSH Key

使用GitHub連接到已有倉(cāng)庫(kù)時(shí),需要使用SSH的公鑰進(jìn)行認(rèn)證,因此我們需要在本地創(chuàng)建一對(duì)密鑰,本地Git Bash上執(zhí)行如下:

SSH_Key.gif

創(chuàng)建好SSH Key后,我們需要把它導(dǎo)入到GitHub中去,具體導(dǎo)入過(guò)程見(jiàn)下圖:

add_ssh_key.png

導(dǎo)入完成后我們可以簡(jiǎn)單測(cè)試一下是否可用,具體檢驗(yàn)方法如下:(當(dāng)出現(xiàn)Hi 。。。。 access這樣的輸出時(shí)說(shuō)明可用)

check_ssh_key.png

至此,SSH Key設(shè)置完成。

下載并使用代碼倉(cāng)庫(kù)

創(chuàng)建好代碼倉(cāng)庫(kù)后就可以將他們下載到本地來(lái)進(jìn)行編輯修改了。在GitHub上進(jìn)入倉(cāng)庫(kù)頁(yè),選擇Clone or Download,這里可以選擇使用https或者SSH,由于我們?cè)O(shè)置了SSH,因此選擇SSH,復(fù)制地址,打開(kāi)git,切換到目標(biāo)目錄,并執(zhí)行如下命令。

Clone_Or_Download.png
//克隆倉(cāng)庫(kù)內(nèi)容到本地
git clone git@github.com:LineToAnyWhere/LineToAnyWhere.github.io.git

此時(shí)倉(cāng)庫(kù)已經(jīng)下載到本地,這時(shí)我們可以修改內(nèi)容,然后在本地倉(cāng)庫(kù)中添加更改,之后提交更改??梢栽趦?nèi)容更改后執(zhí)行如下命令來(lái)在本地提交更改:

//添加更改后的文件到倉(cāng)庫(kù)中,當(dāng)然也可以直接添加目錄
git add xxx.html    //添加單個(gè)文件到目錄
git add .           //添加當(dāng)前目錄中的文件
//提交更改的內(nèi)容
git commit -m "修改部分代碼"  //只有在執(zhí)行完add后才可以提交更改,參數(shù)-m 后可以跟上此次提交的備注

到這里本地的更改已經(jīng)可以由本地倉(cāng)庫(kù)來(lái)進(jìn)行管理了,如果你需要在多個(gè)地點(diǎn)維護(hù)你的代碼,這時(shí)候你就需要將你的代碼提交到遠(yuǎn)程倉(cāng)庫(kù),這里可以提交到GitHub上。

//提交本地倉(cāng)庫(kù)到GitHub
git push

當(dāng)然,我們可以在任何時(shí)候查看我們的提交歷史記錄,或者是查看當(dāng)前倉(cāng)庫(kù)的狀態(tài)

//查看提交歷史紀(jì)錄
git log
//查看當(dāng)前倉(cāng)庫(kù)狀態(tài)
git status

這里我給大家一個(gè)全套執(zhí)行的示例

Use_Git.gif

GitHub快捷鍵

在GitHub上很多頁(yè)面都有快捷鍵,各個(gè)頁(yè)面查看快捷鍵的方式是按下shift+/

GitHub使用流程

1.一般流程

  • 在GitHub上進(jìn)行Fork
  • 將fork的倉(cāng)庫(kù)克隆至本地
  • 在本地環(huán)境中創(chuàng)建分支
  • 修改分支代碼并提交至本地
  • push代碼到fork的倉(cāng)庫(kù)中
  • 在GitHub上對(duì)Fork來(lái)源的倉(cāng)庫(kù)發(fā)送Pull Request

2.不Fork的開(kāi)發(fā)流程

  • 共用一個(gè)遠(yuǎn)程倉(cāng)庫(kù)
  • 使用不同賬戶clone項(xiàng)目到本地
  • 創(chuàng)建分支修改本地代碼并提交
  • push到遠(yuǎn)程倉(cāng)庫(kù)
  • 在GitHub上合并分支

3.GitHub flow流程

  • 令 master 分支時(shí)常保持可以部署的狀態(tài)
  • 進(jìn)行新的作業(yè)時(shí)要從 master 分支創(chuàng)建新分支,新分支名稱(chēng)要具有描述性
  • 在新建的本地倉(cāng)庫(kù)分支中進(jìn)行提交
  • 在 GitHub 端倉(cāng)庫(kù)創(chuàng)建同名分支,定期 push
  • 需要幫助或反饋時(shí)創(chuàng)建 Pull Request,以 Pull Request 進(jìn)行交流
  • 讓其他開(kāi)發(fā)者進(jìn)行審查,確認(rèn)作業(yè)完成后與 master 分支合并
  • 與 master 分支合并后立刻部署

4.Git flow流程

  • 從開(kāi)發(fā)版的分支(develop)創(chuàng)建工作分支(feature branches),進(jìn)行功能的實(shí)現(xiàn)或修正
  • 工作分支(feature branches)的修改結(jié)束后,與開(kāi)發(fā)版的分支(develop)進(jìn)行合并
  • 重復(fù)上述流程,不斷實(shí)現(xiàn)功能直至可以發(fā)布
  • 創(chuàng)建用于發(fā)布的分支(release branches),處理發(fā)布的各項(xiàng)工作
  • 發(fā)布工作完成后與 master 分支合并,打上版本標(biāo)簽(Tag)進(jìn)行發(fā)布
  • 如果發(fā)布的軟件出現(xiàn) BUG,以打了標(biāo)簽的版本為基礎(chǔ)進(jìn)行修正(hotfixes)

Gist

Gist A 是一款簡(jiǎn)單的 Web 應(yīng)用程序,常被開(kāi)發(fā)者們用來(lái)共享示例代
碼和錯(cuò)誤信息。其功能有些像簡(jiǎn)單的,可共享的備忘錄,共享時(shí)只需將需要共享內(nèi)容的URL發(fā)送給要共享的人即可,共享者之間還可以互相評(píng)論留言。當(dāng)然,他本身也是在Git版本控制的管理之下,可以隨時(shí)可以查看修改的歷史記錄,他還支持多種代碼高亮。感興趣的朋友可以試試,這里不再贅述。

GitHub的GUI客戶端##

其他提供類(lèi)似GitHub功能的開(kāi)源軟件

更多

本文僅僅展示了最簡(jiǎn)單的GitHub和git的使用方法,此后會(huì)不定期在此文章上更新一些GitHub功能的使用方法,至于Git會(huì)另寫(xiě)一篇文章專(zhuān)門(mén)說(shuō)明Git這個(gè)命令的各種參數(shù)用法。這里為大家推薦兩本書(shū),一本講述了GitHub的詳細(xì)使用,書(shū)名《GitHub入門(mén)與實(shí)踐》,作者是[日]大塚弘記。另一本是高級(jí)Git的使用方法,書(shū)名《Pro Git》,不過(guò)目前這本書(shū)沒(méi)有中文版,大家也可以參考《Git版本控制管理(第2版)》。另外《Pro Git》的英文版是可以從Git的官網(wǎng)下載PDF的。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 1. 安裝 Github 查看是否安裝git: $ git config --global user.name "...
    Albert_Sun閱讀 13,862評(píng)論 9 163
  • 寫(xiě)日記提升自我,規(guī)劃人生,扶貧生活離不開(kāi)
    陳榮明老師閱讀 412評(píng)論 0 0
  • 我喜歡詩(shī)情帶給我的美妙,用心體驗(yàn)詩(shī)句的溫柔,感受它帶給我的韻味。微雨如酥 草色遙看近卻無(wú) 我喜歡文學(xué)的深淵,它的魅...
    Lareine_6c39閱讀 237評(píng)論 0 0
  • 時(shí)間沒(méi)有讓我忘了你 只是讓我更想你 因?yàn)樯類(lèi)?ài) 所以不敢打擾 因?yàn)樯類(lèi)?ài) 所以改變了習(xí)慣 變得話更少 變得更堅(jiān)強(qiáng) 變得...
    柳若素閱讀 257評(píng)論 1 1
  • 可是就是這樣定點(diǎn)了 殷紅色的血在脖頸處結(jié)了痂 白色粗線條描繪出你躺著的形狀 在場(chǎng)的每個(gè)人都像是兇手 都一一過(guò)來(lái) 出...
    小橙君閱讀 195評(píng)論 5 2

友情鏈接更多精彩內(nèi)容