目錄表
[Git]
Git 學習資源 點我
安裝-Git
[GitLab]
相關帳號已建置,帳號:cbb???XXX(學號);信箱cbb???XXX@ws.csie2.nptu.edu.tw,請先行登入系計中工作站ws(workstation)並修改密碼再登入系計中。
登入系計中-GitLab
- 系計中使用SSO(single-sign-on)的連線機制來進行連線,請先行登入系計中工作站ws(workstation)並修改密碼再登入系計中,上述操作所更改的密碼將會應用到GitLab上,若有同學們之前尚未修習過卓俊老師的程式設計、物件導向程式設計等課程,請與課程助教及系計中管理員獲取系統隨機生成的一次性密碼信件函,並於ws(workstation)中進行登入並修改為自己的密碼。
- 如果無法連上登入入口,請使用傳統GitLab登入入口進行登入GitLab登入(傳統登入)
本學期為Software-Engineering/2025-Fall-SE
查看-Groups-群組-與-Repository-儲存庫
下載GitLab的Repository(以G00 easypainter為例)
獲取GitLab 的 Access Token
- 請根據以下步驟來獲取GitLab的Access Token
- 請將Access Token複製存放到一個隱密的文字檔案中,此token僅會出現一次,如果未妥善保存則需要重新更新或生成Access Token。
Command Line Interface(CLI)
- 我們以老師上課所設計的G00專案為例,請至系計中網頁GitLab,GitLab帳號密碼為系計中(ws)ssh連線的帳號密碼,進入網頁後請按下Code的藍色按鈕並複製Clone with Https的url連結。
Windows OS系統教學
- 打開資工系計中GitLab網站並登入,進入到Group-G00-ezPaint 的 Repository,點擊[code],上面會有 Clone with HTTPS 的文字 ,點選旁邊的[ Copy URL ]可以將網址複製到剪貼簿。
- 在剛剛打開的終端機中打入
git clone https://git.csie2.nptu.edu.tw/Software-Engineering/2025-fall-se/g00/easypainter.git
(git clone 剛剛複製剪貼的內容)。 - 帳號為學號,密碼為剛剛所生成的Access Token
Mac OS系統教學
如果已經完成的同學請下載好Eclipse後查看 Eclipse Git 教學 Eclipse Git 教學 的部分,根據教學的介紹eclipse smart import後來去載入eclipse專案(#教學使用G99,此處老師的G00為類似操作。)
建立-GitLab-上的-Repository
[Eclipse]
安裝-Eclipse
- 前往 Eclipse 下載網站並按下[Windows x86_64]。
Eclipse Git 教學
相關學習資源 Connect Eclipse To GitLab
- merge conflict的教學則等同學實作遇到時自己解決了!
- 網路上的merge conflict的教學影片,印度的一位先生錄影的,建議開字幕。
補充教材:Git 指令 教學
同學們如果想要自行用指令的方式來做版本控制而非使用Eclipse內建的Git模組,則我有推薦一些網站可以自學Git,希望大家都能使用這個很棒的工具!(請大家除了使用學校的GitLab外也嘗試註冊並使用GitHub吧!)
模擬Git的關卡遊戲
Git官網手冊
Git指令說明
現在我來跟大家說明如何使用指令來將本機端儲存庫推上遠端(GitLab)的儲存庫:
我使用mac環境來建置git,請windows的同學們使用windows terminal(windows終端機)或是powershell來進行Git的建置。
之前在eclipse git說明中有提到創建一個小專案名為mynewproject,現在我們依舊使用這個專案來進行說明,可以看到mynewproject現在是沒有git的狀態(disconnective)。
使用git前請先檢查是否有安裝git:
git --version尚未安裝的同學請自行按照環境安裝git
請同學在電腦選擇一個路徑來創建資料夾來做為git的repository,然後進入此資料夾(之後eclipse專案儲存的地點就在此處):
mkdir gitTest cd gitTest
若同學打算使用 Git 來追蹤(track)現有的專案,只需要進入該專案的資料夾並執行:
git init (# 初始化儲存庫)

在Gitlab上建立一個project,使用之前的myNewProject為例,先到code複製已經創建好的專案的url。
然後請到終端機介面輸入
git remote add origin <剛剛複製的url> (# 綁定遠端名稱為 origin)

git fetch
之後,Git 會從遠端抓取最新的分支資訊。 在輸出訊息中可以看到:
* [新分支] main -> origin/main
這代表本機端新增了一個 遠端追蹤分支 (remote tracking branch)
`origin/main`,它是遠端 `main` 分支的快照。
注意:這裡建立的是 `origin/main`,並不是本地可直接操作的 `main` 分支。
執行 `git fetch` 後,在 Git GUI 或 `git branch -r` 中,就能看到多了一個遠端追蹤分支 `origin/main`。
輸入下列指令能夠查看目前有追蹤遠端哪個分支的快照
git remote -r

輸入下列指令能夠查看本機端是否有建立分支,我們能夠發現目前本機端沒有任何分支:
git branch

如果要建立一個真正的本地分支來追蹤它,可以使用:
git checkout -b main origin/main可以發現目前已經位於main分支了

接下來我們需要建立一個commit,讓我們先建立一個測試檔案myCommit.java:
touch myCommit.java
然後輸入下列指令來查看git的狀態,可以看有哪些有哪些檔案未被追蹤以及Unstage files和staged files。
git status

同學可以使用
git add myCommit.java
也可以輸入
git add . (#將所有未追蹤檔案變為被追蹤檔案)來將myCommit.java變為被追蹤的檔案。

然後輸入
git commit -m "myfirst commit"來設定第一次的commit message。

我們可以看到git commit後有一段文字顯示我們尚未將這個主機設定上傳的個人身份,因此需要進行設定:
git config --global user.name "你的名字" git config --global user.email "你的信箱" git config list (#查看個人訊息)

接下來請使用
git push
來將目前的commmit推送到遠端(gitlab)進行版本更新
請記得在每次寫扣之前都要pull一次GitLab的程式碼,小組夥伴們可能有push上去。
git pull

如果我們想將專案複製下來要怎麼處理呢? 請使用
git clone <專案的url>來將遠端(GitLab)的儲存庫內容複製到本機端


沒問題的話回到Eclipse,我們可以導入(import)剛剛複製到本機端的專案資料夾,請查看下列步驟:
如果同學沒有看到[儲存庫名稱 main]
請對專案按下右鍵,team→share project,eclipse可以自動抓取.git的資料
成功將遠端的專案用指令的方式抓回eclipse了!!!!(好累,完結撒花)