Skip to main content

GitHub 基礎教學

本篇為 GitHub 基礎教學。

影片 : https://youtu.be/yNuGLTKn2rQ

0 簡介與帳號申請

GitHub 為 Git 系統的遠端倉庫(Remote Repository), 常用在團隊合作、開源專案,讓大家的程式碼,程式碼歷史維持一致。

0.1 GitHub 帳號申請

  1. 請到官網 https://github.com/
  2. 點選左上角 Sign Up 申請帳號,填寫資料(Email 必須填真的,因為要驗證)
  3. 看到方框選項,可依照你的興趣選,或直接拉到最下方選擇綠色按鈕 compelete setup
  4. 收信點選 Verify email address

1. GitHub 使用方式簡介

以下方式為常用,會依據團隊需求而些微不同

  1. 在本地端有 commit 過的 branch。
  2. 在 GitHub 上新增空的儲存庫(repository)。
  3. 設定本地 repository 連結遠端的 repository。(本地專案連結遠端專案)(git remote add)
  4. push 本地某一分支到遠端。
  5. 等待遠端分支合併(merge)。

2. 設定 Sourcetree 與 Github 連線

以下說明 Sourcetree 與 Github 連線,有兩種 : ssh 、 直接 Githuh OAuth 授權

這邊只需要設定一次,之後不用再重新設定。

2.1. 在 Sourcetree 設定 ssh 連線

SSH 連線為一種加密的連線方式,會透過公鑰與私鑰配對(SSH 詳細說明請見下方補充資訊)。

  1. Tools > Create Or import SSH Keys
  2. Generate > 在上方空格隨意移動滑鼠
  3. 存檔 private key 到任意位置(要記得存在哪)
  4. 複製 public key 到 GitHub 設定

註 : 若要換 private key 請到 Tools > Option 內更換

2.2 GitHub 帳號連結 Sourcetree

  • 此方法需先在瀏覽器登入 GitHub,因為等會需要授權

讓 Sourcetree 得到 GitHub 的授權,方便操作遠端 repository。

  1. Tools > option > Authentication > Add
  2. Hosting 選 GitHub > 其他不變 >
  3. Preferred Protocal 選 HTTPS
  4. Authentication 選 OAuth
  5. 按 Refresh OAuth Token
  6. 會跳出瀏覽器到 GitHub 授權頁面,拉到最下方圖示綠色按鈕即可完成授權。

註 : 若無跳出,則回到 Sourcetree 看有沒有打勾綠色圖案

3. 遠端倉庫(Remote Repository)

3.1 創建遠端倉庫

創建遠端倉庫存放專案,在 GitHub 上創建一個空的 repository 準備放程式

  1. GitHub 右上角 + > New repository
  2. 輸入專案名稱,建議與本地的資料夾名稱相同

3.2 推送本地專案到遠端倉庫

  1. 在 Sourcetree 右上點選 Remote 進行設定。
  2. 左上選單選擇 push ,並勾選要推送的分支即可(通常第一次推送是 master)。

3.3 複製(clone) 遠端倉庫的專案到本地

  1. Sourcetree 增加新的 tab > clone
  2. 輸入 GitHub 遠端網址
  3. 輸入您要放專案的本地位置 > 選 Clone

3.4 從 Eclipse 匯入剛剛 clone 的專案

  1. File > import > Git > Projects From Git (with smart import)
  2. 選 Existing local repository > Add > 選擇專案位置 > 打勾專案
  3. Next Finish

Eclipse 會自動偵測是 Maven 專案,所以右下角會進行設定並下載外部套件。

加入 Tomcat 就可以啟用囉! (Spring Boot 專案則不用)

若有問題可透過下方檢查

  • 專案右鍵 > Maven > Update Project > 打勾 Force Update ... > Finish

3.5 合作時的分支合併方式

合作時的分支合併方式有以下幾種作法

3.5.1 合作時的分支合併方式之一

  1. 修改前可以先 pull master : 與遠端 master 同步。
  2. 再開新分支
  3. 修改程式後在新分支 commit
  4. push 前確認要推送的分支即可
  5. 在 GitHub 把新分支合併到 master ,就可以統一組員進度

3.5.2 合作時的分支合併方式之二 (EEIT147)

  1. pull master 大家的專案同步
  2. 開新分支 ,在分支做事情,add stage, commit
  3. 切到 master 先做 pull master
  4. Merge 自己的新分支到 master
  5. 推 master 到遠端

註:遇到問題,master 先 pull 試試,再推

3.5.3 Git Flow

Git Flow 可參考 : Git Flow

3.5.4 GitHub Flow (開源專案常用)

GitHub Flow 可參考 : GitHub Flow

4. 設定組員權限

  1. 在 GitHub repository ,選擇設定(Settings)
  2. Manage access > Invite a collaborator
  3. 輸入組員申請 GitHub 時的 email
  4. 請組員收信,並確認

5. README

README 為 GitHub 專案的說明文件,或用來展示特色,使用 MarkDown 語法。