程式碼版本控制服務-github入門使用介紹

github-1

要介紹 github 首先要知道 git 在幹嘛,凡是程式碼開發的工作,最怕程式寫到一半要回溯之前是怎麼寫的,或者是很多人同時寫一個專案的時候,要怎麼分辨與整合彼此的成果?所以以前的高手發明了很多機制,比較知名的就是 CVS 和 SVN,只是 git 因為它具備較多的彈性及使用方便,所以近年來許多大型的軟體專案,都開始使用這套工具,但是要自已管理 git server 實在不是一件簡單的活兒,所以在這個雲端時代,就出現了 github 這樣的服務~至於 git 的理論是什麼?就不在本筆的範圍啦,請大家自行 google 科普一下,本筆的重點就是實務如何使用 github 這套服務囉。

與先前這篇提到的一樣,這篇還是寫給非常入門的朋友看的,而筆者的公司由於所開發的專案基本上都不適合公開,所以都是自行架設 git server 管理,如果有人想要用 github 的服務又不想公開專案內容的話,那麼就直接採用付費方案即可~如果不想付費又不想公開,那麼只好自已架囉~由於自已先前只用 git,沒常用 github,所以臨時請教了某位呂姓神人,也謝謝高人指點才會有這篇的出現~

好~的~不管您是專案的擁有者或是只想參與開發~都需要開立一個帳號,請連結至 github 的首頁:http://www.github.com,直接填入你要申請的

  1. 帳號
  2. email (已註冊的email不能用)
  3. 密碼 (至少要一個小寫的字母,密碼最短不可少於 7 個字元)

github-2

然後按下「Sign up for GitHub」進入第二步驟,請直接拉到最下方按下「Finish Sign up」,如下圖。

github-3

看到以下的畫面就代表註冊成功囉!

github-4

接下來要發送確認信函啟動 mail 通知,請點選畫面右上方的「齒輪」圖示,再選擇左方的「Emails」,最後請點選「Send verification email」送出確認信。

github-13

接下來在自已的收信畫面中,會收到這封信,請直接點選連結。

github-14

最後會把畫面重導至 github,請按下「Confirm」結束認證流程。

github-15


自行管理一個專案

如果你自已想建立一個開發專案,可以回到 github 首頁,按下畫面右下方綠色的「+ New repository」或者是畫面右上方的「」號,並選擇「New repository」。

github-37

接下來會請您填入相關的資訊,如下圖。

  • Repository name - 請填入你想要的專案名稱,只能用英文
  • Description - 請填入對這個專案的描述,也可以不填
  • Public - 設定為公開專案,所有人都可以看,如果選擇 Private 則會出現信用卡付款欄位
  • Initalize this repository with a README - 勾選的話,系統會自動建立一個 README.md 檔案,可做為此專案的詳細說明檔

github-5

都填完後按下「Create repository」新增專案,完成畫面如下。

github-6

請注意中間的部份,目前因為是初始化的專案,所以只有一個分支版本 (branch) 叫「master」,而在這個畫面中可以直接新增及開發檔案,不過由於有點超出範圍,在此就暫時不介紹啦~有興趣的朋友可以自已研究一番。


開始在自已的電腦開發

新增專案後,因為不建議直接在網頁介面上開發專案,所以要把剛剛建立的專案給下載到自已的電腦中,再搭配合適的開發工具去寫你要的成果,如果您是 Windows 的使用者(如果是 Mac 和 Linux 的使用者,建議採用指令),可以先安裝由 github 官方所提供的圖型化介面,連結為:https://windows.github.com/,請直接點選「Download GitHub for Windows」下載。

github-7

安裝也很簡單,點選二下後,github for windows 出現安裝畫面,請點選「Install」會連線下載安裝檔,大約 45mb 左右。

github-8

下載完就會啟動主程式畫面,一開始要先登入,請輸入剛剛在 github 網站上註冊的帳號及密碼資訊,然後按下「Log in」登入。

github-9

接下來設定之後要提交更新,在網頁上所顯示的個人資訊,確認無誤後按下「Continue」繼續。

github-10

因為才剛初始化,你的電腦端還沒有任何專案,所以請按下「Skip」。

github-11

完成登入手續後,請先關閉程式(按右上的 X )。

github-12

接著回到 github 的主畫面,我們準備要將剛剛建立的專案下載 (clone) 到自已的電腦,回到 github 的首頁,可以看到剛剛建立的專案。

github-16

點進去後,如果是 Windows 的使用者(本篇文章主角),請點選畫面右下角「Clone in Desktop」的圖示連結。

github-17

因為剛剛有裝 github for Windows 的程式,所以會去呼叫它來執行後續的動作,此時電腦上會出現一個訊框,請按下「啟動應用程式」。

github-18

github for Windows 啟動後,會詢問這個專案的設定路徑,預設是在「我的文件\GitHub」的目錄中,請按下「確定」新增。

github-19

下載完畢後,你剛剛建立的專案就同步下載到「我的文件\GitHub」的目錄了,github for windows 就會有這個專案的相關訊息。

github-20

這個時候我們來編輯這個目錄的內容,包含新增檔案及編輯測試,可以用任何您會用的編輯器。

github-21

存檔後,再回到 github for windows,針對 webproject 這個專案,會有「已變動的提示」,請按下「Show」並輸入「Summary」及「description」,最後按下「Commit to master」,就可以看到變更記錄囉!

github-22

此時會發現,為何還是「Unsynced changes」?這是因為這次的改版是在你的本機上進行的,git 只是將記錄存放在本機的 master branch 中,但是還沒有回存到遠端的 github 上,您可以先去 github 的首頁看一下是否已經有更新了?此時應該還沒有,請按下github for windows右上方的「Sync」同步,再回到網頁上,就代表已更新完畢,相關的修改記錄都同步囉!

github-24

回到 github 的專案頁面,檔案同步囉。

github-25

如果您有在不同的電腦上開發同一個專案,或是有很多人共同開發,那請記得每次登入 github for windows 時先同步一下,以上就是入門的 github 教學,適用於一般初學者~多玩玩這樣的東西,就會瞭解的更多~


多人共同開發單一專案

接下來是稍微進階一點的功能,主要適用於多人開發單一專案,並將不同的成果 (本篇會說明分支 fork) 整合 (merge) 至 master branch,是比較正式的專案開發模式,仍舊利用剛剛的 webproject 範例,一開始要先由專案的創建人來「邀請」開發者進來,同樣的,開發者也需要事先在 github 上建立一個帳號,邀請的方式是點選專案主畫面右方的「Settings」再點選畫面左方的「Collaborators」,最後在右方填入要邀請開發者的 ID,系統會自動比對搜尋,確認後按下「Add collaborator」。

github-26

接下來「被邀請的開發者」 一樣會將專案 Clone 下來,就照著先前的步驟,然後建議完成 Clone 後,直接 fork 分支,請在 github for windows 的畫面中,webproject 專案的「master」上點一下,輸入新的 branch 名稱,然後按下「Create xxxxxx」。

github-27

 

完成後,目前在被邀請的開發者主機上,就有一個分支版本,而且現在是「切換到」這個新的分支版本中,所以如果此時直接去編輯目錄中的檔案,是不會影響到 master 的版本的,這樣的模式可避免直接修改原始的版本,減少開發上的錯誤,同樣的在改動檔案後,commit 結果到「kevin_test」這個分支去,此時再去切換到 master,你會發現兩邊結果已不同,接下來要把這個分支版本同步到 github 上去,請按下畫面右上方的「Publish」。

github-28

完成後,右上角的字就會變成「Sync」,接著到 github 專案主頁看,會多了一個分支。

github-29

此後就可以在這個分支撰寫自已的程式碼了,如果以後有人要 clone,也可以採用這個分支。


合併分支 (merge)

當程式碼開發到一個程度時,就要適時的將程式碼合併調整,否則當程式差異太多就會比較難以處理,要執行此動作,則需要先請分支的擁有者在專案網頁中,提出「Compare & pull request」的請求,如下圖。

github-30

並且填入相關的訊息,完成後送出「Create pull request」即可。

github-31

 

或是透過 github for windows 的功能進行。

github-32

最後,在主開發人員的頁面,會發現「Pull requests」的訊息。

github-33

點進去,首先看到的是列表。

github-34

接著,是這個 pull request 的詳情,主開發人員可以切換到「Files changed」的畫面查看變更處,也可以將其下載回去測試後決定是否要 merge,如果 OK,就按下「Merge pull request」->「Confirm merge」。

github-35

完成合併!原來的 branch 也可以刪除。

github-36

之後 master 也更新到最新的狀態了,請在 github for windows 畫面中同步一次,如此開發端也更新到最新了,以上就是本篇關於 github 的介紹~之後有空再補上關於指令的操作模式~

 

發表迴響

你的電子郵件位址並不會被公開。 必要欄位標記為 *