GitHub 教學:上傳作業
開發班學員通常需要以 GitHub 上傳繳交作業等資料,本文教大家如何繳交作業。
先前準備
- 至 GitHub 申請帳號
- 將帳號 ID 提供給課程助教,請助教開啟課程權限。
- 安裝終端機。 Mac 已有內建,也叫做「終端機」;Windows 請下載 GitBash。
- 視課程要求安裝其他軟體,例如撰寫程式碼的文字編輯器,或是遊戲製作工具......等。
上傳作業步驟
- Git Clone:複製課程資料夾結構到自己本機中。
- 創造分支。
- 在分支製作作業,並把作業放到對應當週的資料夾。
- Git Push:上傳作業。
以下以 Windows 11 的環境示範,逐一詳細解釋。
I. Git Clone:複製課程資料夾結構到自己本機中
打開 Git Bash,以"mkdir 資料夾名稱" 創建母資料夾、"cd 資料夾名稱" 前往資料夾的位置。以下為例,創建了一個叫做 z_homework 的資料夾並前往該資料夾。以後如果參加許多學院的開發班,都可以把每個開發班的資料夾集中放在 z_homework 母資料中當成學院作品集。
![](https://light.kaik.network/image/width=800,quality=80/attachment/public_image/11d2e15a-f294-4174-9cd1-9c5ff52f4f1e/f896909d-2887-445b-be4a-9b62bb5735b5.png@webp)
接著到課程 Repository (簡稱 repo)複製課程的 Git 連結。
![](https://light.kaik.network/image/width=800,quality=80/attachment/public_image/6510dbc5-b3ad-41ea-9fc3-8f5d947e17c3/e30f2461-a56d-4d42-b425-1ec585957d4f.png@webp)
於終端機輸入:
git clone 連結 設定資料名稱
例如以下設定資料夾名稱為 hw1。
![](https://light.kaik.network/image/width=800,quality=80/attachment/public_image/5d18ed6e-5b17-4cd3-a7b5-80f398943ca8/b7087960-b197-49f2-bd2d-e0939c9dfa00.png@webp)
檢查一下,確定已經複製好課程資料夾。
II、創造分支
什麼是分支?
可以把 GitHub 的分支 (branch)想像成許多平行宇宙。課程是「正史」宇宙,名稱為 main 或 master;大家以自己的學號創造的分支是平行宇宙。
假設共有 4 位同學,分別為 Z01~Z04,則每個人往後各別管理自己的分支。
在創造分支之前,一開始的預設分支,也就是剛 git clone 複製好的「正史」,名稱為 main 或 master。
於 Git Bash 輸入指令:
git branch 學號
創造分支(在此以 Z23057099 為例)。但此僅為創造分支而已,要前往該分支,要再輸入指令:
git checkout 學號
這樣才能前往該分支。也可以一條指令同時創造並前往分支:
git checkout -b 學號
![](https://light.kaik.network/image/width=800,quality=80/attachment/public_image/22e50eca-054b-4f78-bf32-0509fbc3a659/f955c91c-79f7-42cf-9589-c4d2d704936c.png@webp)
這樣便完成了分支,接下來就可以做作業了。
III. 在分支製作作業,並把作業放到對應當週的資料夾
每個禮拜的資料夾都有 readme 檔案。可以在 readme 中加以說明作業,例如中間有沒有發生什麼問題、如何解決、有沒有什麼新發現……等。Readme 可以用文字編輯器(如 VS Code) 修改。
假設 Week 1 作業是畫一張圖,畫好後放到 hw1 / Week 1 資料夾,並修改 readme 說明
![](https://light.kaik.network/image/width=800,quality=80/attachment/public_image/6550f2b7-5b15-4b27-a45f-f6e0697d704f/bb08aecc-1a14-445e-a848-56c223a04ab7.png@webp)
IV. Git Push:上傳作業
製作完後,分別輸入以下指令
git add .
git commit -m “說明文字”
上述的「說明文字」是用來給說明本次的修改做了什麼事情,在專案協作上可以用這個檢查專案的修改歷程。在這邊只要簡單說明就好。
![](https://light.kaik.network/image/width=800,quality=80/attachment/public_image/6586a8e6-f178-4f25-9cdc-b178c80a4c9f/81dea7dd-479a-4a70-8595-a55fa05b26f8.png@webp)
輸入指令上傳作業:
git push -u origin 學號
![](https://light.kaik.network/image/width=800,quality=80/attachment/public_image/8415b78c-aec8-4c6e-a10b-b461e42a55b8/881e43f9-d9a8-4e05-aad8-95ade7741b41.png@webp)
最後到 GitHub 切換並查看分支
![](https://light.kaik.network/image/width=800,quality=80/attachment/public_image/2a5ba934-b596-434e-a5dc-f42ab5df6c53/9ba95cce-9095-4dd7-89ba-18470517581e.png@webp)
上傳成功!(ノ>ω<)ノ
![](https://light.kaik.network/image/width=800,quality=80/attachment/public_image/37c48bd4-fa2e-401d-ac1a-97f7af5c72c7/bd2a13a9-9cca-4751-8f5f-818ff077bdad.png@webp)
注意事項
請維護好自己的分支就好,確保自己無論是製作作業還是上傳,都在自己的分支上!避免修改到 main (正史)或是其他同學的分支 (別人的平行宇宙),否則會造成宇宙混亂!