GitHub 基礎教學
本篇為 GitHub 基礎教學。
影片 : https://youtu.be/yNuGLTKn2rQ
0 簡介與帳號申請
GitHub 為 Git 系統的遠端倉庫(Remote Repository), 常用在團隊合作、開源專案,讓大家的程式碼,程式碼歷史維持一致。
0.1 GitHub 帳號申請
- 請到官網 https://github.com/
- 點選左上角 Sign Up 申請帳號,填寫資料(Email 必須填真的,因為要驗證)
- 看到方框選項,可依照你的興趣選,或直接拉到最下方選擇綠色按鈕 compelete setup
- 收信點選 Verify email address
1. GitHub 使用方式簡介
以下方式為常用,會依據團隊需求而些微不同
- 在本地端有 commit 過的 branch。
- 在 GitHub 上新增空的儲存庫(repository)。
- 設定本地 repository 連結遠端的 repository。(本地專案連結遠端專案)(git remote add)
- push 本地某一分支到遠端。
- 等待遠端分支合併(merge)。
2. 設定 Sourcetree 與 Github 連線
以下說明 Sourcetree 與 Github 連線,有兩種 : ssh 、 直接 Githuh OAuth 授權
這邊只需要設定一次,之後不用再重新設定。
2.1. 在 Sourcetree 設定 ssh 連線
SSH 連線為一種加密的連線方式,會透過公鑰與私鑰配對(SSH 詳細說明請見下方補充資訊)。
- Tools > Create Or import SSH Keys
- Generate > 在上方空格隨意移動滑鼠
- 存檔 private key 到任意位置(要記得存在哪)
- 複製 public key 到 GitHub 設定
註 : 若要換 private key 請到 Tools > Option 內更換
2.2 GitHub 帳號連結 Sourcetree
- 此方法需先在瀏覽器登入 GitHub,因為等會需要授權
讓 Sourcetree 得到 GitHub 的授權,方便操作遠端 repository。
- Tools > option > Authentication > Add
- Hosting 選 GitHub > 其他不變 >
- Preferred Protocal 選 HTTPS
- Authentication 選 OAuth
- 按 Refresh OAuth Token
- 會跳出瀏覽器到 GitHub 授權頁面,拉到最下方圖示綠色按鈕即可完成授權。
註 : 若無跳出,則回到 Sourcetree 看有沒有打勾綠色圖案
3. 遠端倉庫(Remote Repository)
3.1 創建遠端倉庫
創建遠端倉庫存放專案,在 GitHub 上創建一個空的 repository 準備放程式
- GitHub 右上角 + > New repository
- 輸入專案名稱,建議與本地的資料夾名稱相同
3.2 推送本地專案到遠端倉庫
- 在 Sourcetree 右上點選 Remote 進行設定。
- 左上選單選擇 push ,並勾選要推送的分支即可(通常第一次推送是 master)。
3.3 複製(clone) 遠端倉庫的專案到本地
- Sourcetree 增加新的 tab > clone
- 輸入 GitHub 遠端網址
- 輸入您要放專案的本地位置 > 選 Clone
3.4 從 Eclipse 匯入剛剛 clone 的專案
- File > import > Git > Projects From Git (with smart import)
- 選 Existing local repository > Add > 選擇專案位置 > 打勾專案
- Next Finish
Eclipse 會自動偵測是 Maven 專案,所以右下角會進行設定並下載外部套件。
加入 Tomcat 就可以啟用囉! (Spring Boot 專案則不用)
若有問題可透過下方檢查
- 專案右鍵 > Maven > Update Project > 打勾 Force Update ... > Finish
3.5 合作時的分支合併方式
合作時的分支合併方式有以下幾種作法
3.5.1 合作時的分支合併方式之一
- 修改前可以先 pull master : 與遠端 master 同步。
- 再開新分支
- 修改程式後在新分支 commit
- push 前確認要推送的分支即可
- 在 GitHub 把新分支合併到 master ,就可以統一組員進度
3.5.2 合作時的分支合併方式之二 (EEIT147)
- pull master 大家的專案同步
- 開新分支 ,在分支做事情,add stage, commit
- 切到 master 先做 pull master
- Merge 自己的新分支到 master
- 推 master 到遠端
註:遇到問題,master 先 pull 試試,再推
3.5.3 Git Flow
Git Flow 可參考 : Git Flow
3.5.4 GitHub Flow (開源專案常用)
GitHub Flow 可參考 : GitHub Flow
4. 設定組員權限
- 在 GitHub repository ,選擇設定(Settings)
- Manage access > Invite a collaborator
- 輸入組員申請 GitHub 時的 email
- 請組員收信,並確認
5. README
README 為 GitHub 專案的說明文件,或用來展示特色,使用 MarkDown 語法。