# GIT 專案管理教學文件 > 一個分散式版本控制軟體,最初由林納斯·托瓦茲創作,於2005年以GPL授權條款釋出。最初目的是為了更好地管理Linux核心開發而設計。 @HyC-1029 - 06/29/25 Git教學講義 :::info 簡單來說就是版本控制器,同步多人的專案。 ::: 本文章會教你手把手從在GitLab創建專案開始,到在fork同步。 --- # 組員 如果你是一個小組中的組員,你需要根據以下步驟,確保能與他人同步。 ### 下載Git 去官網 `git-scm.com` 下載最新版本的git ![image](https://hackmd.io/_uploads/ryOrw1CEgl.png) 下載好後打開來,安裝位置選在C:\Git ![image](https://hackmd.io/_uploads/rJPhvy0Vgx.png) 接下來都預設值就可以了 --- ### GitLab 更直觀的專案管理網站。 去官網註冊一個帳號,註冊好後點擊右上角的頭像,選擇 `Preferences`,找到 `Access Tokens`,選久一點的日期,名稱叫`fork_PAT`,下面勾選內容全勾 ![image](https://hackmd.io/_uploads/rJvnZeA4eg.png) 先將token複製到記事本,然後去下載fork --- ### Fork 1. 去fork官網 `git-fork.com` 下載,創建資料夾在桌面(或C槽) ![image](https://hackmd.io/_uploads/ryr21gCVlg.png) 2. 去GitLab將專案複製過來(複製第二個) ![image](https://hackmd.io/_uploads/BkSPgeANll.png) 3. 回到Fork,將專案Clone到fork。 ![image](https://hackmd.io/_uploads/HJgiexA4lx.png) 4. 會跳出以下畫面,都不要動,直接按Clone就好 ![image](https://hackmd.io/_uploads/rkEalg04lx.png) 5. 會需要登入GitLab,選**中間**的選項,將註冊gitlab的信箱以及剛剛在記事本貼上的token複製過來就好了 此時你的桌面(或C槽)就會有組長建立的專案了 --- # Push / Pull 當你對專案中的檔案做出了修改,這個修改只會存在你的本地端,不會在其他組員的專案中,所以要將我們的修改**推上主分支** ## 創建分支 為了確保你的修改不會導致其他人被**牽一髮動全身**,會需要創建分支,將你的修改推上分支,組長確認後會合併到主分支(此動作稱MR),避免大家的專案都出錯。 1. 右鍵`Branches`,建立`development`分支 ![image](https://hackmd.io/_uploads/r1zsUgREgx.png) 2. 右鍵`Remotes`,去`gitLab`複製專案連結,創建`upstream` ![image](https://hackmd.io/_uploads/Hkk-ueA4gx.png) :::warning 點兩次development讓勾勾出現在development左邊 ::: ## Push 1. 當你做出了變動,你會在`Local Changes`中看到你修改的部分,按下**Stage**確定這就是你要的變動後,在右下角為此變動命名 ![image](https://hackmd.io/_uploads/r10OKg0Vxg.png) 名稱勿亂取, 請照以下格式 * 修改 - 功能名稱 - 簡單描述修改什麼 * 新增 - 功能名稱 * 測試 - 功能名稱 - 簡單描述測試什麼 2. 按下Commit後點選左上角的push,選取分支如下 ![image](https://hackmd.io/_uploads/SJ-ZqeRNex.png) 後下push 3. 去**GitLab**選取左邊`Merge requests`,選取要合併到`main`的分支(也就是developmwnt) ![image](https://hackmd.io/_uploads/Hkx3qlCEle.png) 4. 確定下方文件都是你修改的東西後按下Create merge request ![image](https://hackmd.io/_uploads/SyHUie0Nxg.png) # 組長 你會需要知道如何創建專案 ## GitLab 下載好Git,也註冊好GitLab後,你會需要一個SSH金鑰,讓每次的push等操作不用登入。 前往終端機輸入 ```bash= ssh-keygen -t ed25519 -C "你的信箱@example.com" # 之後全部按enter ``` 取得公開金鑰 ```bash= type .\.ssh\id_ed25519.pub ``` 透過左上角的搜尋SSH,在user settings中添加ssh ![image](https://hackmd.io/_uploads/H1UsT1R4ll.png) 點選 Add key ## 創建專案 ![image](https://hackmd.io/_uploads/H1hGCkCNlg.png) 點選 Create blank projevt創建空白專案,把一些事項填一填。 創建完成後會進入這個畫面 ![image](https://hackmd.io/_uploads/Hysn0k04lg.png) :::info 接下來換組長要fork ::: ## MR 當組員送出合併請求後 可以在這裡進行CR ![image](https://hackmd.io/_uploads/BJJuigR4xg.png) --- #### 版權聲明 禁止未經允許的轉載和其他節錄等,若有其他需求請聯繫我 {%preview https://hyc.eshachem.com/ %} --- `# Git` `# GitLab` `# Fork` `#專案管理`