# Git 開發過程操作說明 ## 前置步驟 以下都是以Git Bash 做示範,如果要用GUI請參考SKY哥 https://complex-chicory-46c.notion.site/a6730a565b8c4832b05da021cc84fb30?pvs=4 ### 0. 建立乾淨的Eclipse環境 請在C槽建立資料夾 ![image](https://hackmd.io/_uploads/HkArmWq5p.png) ### 1. 打開GitBash 組長已經建立好環境,因此我們需要clone指令把專案從GitHub抓到本機,首先開啟GitBash ![image](https://hackmd.io/_uploads/HkasZW5q6.png) ### 2. 回到GitLab複製Repo網址 ![image](https://hackmd.io/_uploads/H1LjfZ9q6.png) ### 3. 切換目錄 打開GitBash,輸入指令 ```git cd /c/THA105_EDog ``` ![image](https://hackmd.io/_uploads/r1uzVb956.png) ### 4. 輸入clone指令 回到GitBash後,輸入指令 ```git git clone https://github.com/kurodeau/edog.git ``` ![image](https://hackmd.io/_uploads/rJkrz-q5a.png) ### 5. 檢查有無下載到資料夾 ![image](https://hackmd.io/_uploads/rksLNb9c6.png) ### 6. Import Existing Maven Project (1) 點擊File -> Import ![image](https://hackmd.io/_uploads/HydzUbccp.png) (2) 選取剛剛在C槽內clone下來的資料 ![image](https://hackmd.io/_uploads/HkDN8b95a.png) ### 7. 建立Server (Tomcat) (1) Preferences ![image](https://hackmd.io/_uploads/rkd2Fbcqp.png) (2) Add Server ![image](https://hackmd.io/_uploads/H1lb9Wc5a.png) (3) 選取老師的貓 ![image](https://hackmd.io/_uploads/r1Yuc-q56.png) ### 8. 載入Server Runtime (1) Properties ![image](https://hackmd.io/_uploads/SyWTV-55p.png) (2) 選取 Facets ![image](https://hackmd.io/_uploads/SJV32b9cT.png) (3) Details屬性 ![image](https://hackmd.io/_uploads/rJeeHbcqp.png) (3) Runtime屬性 ![image](https://hackmd.io/_uploads/r1bwHZ9c6.png) ### 9. 創建屬於自己的分支,開始打東西 (1) 創建新分支 ``` git branch "MinganJ" ``` (2) 切換到新分支開發 ``` git checkout "minganJ" ``` ![image](https://hackmd.io/_uploads/r1r3OZ956.png) ### 10. 編輯完成後 (1) 把編輯完後檔案加入staged area ``` git add . ``` (2) 提交變更 ``` git commit -m "myTest" ``` ### 11. Push (1) 可以查看組長創的遠端分支 預設應該都叫origin ``` git remote -v ``` ![image](https://hackmd.io/_uploads/Bkof0W5ca.png) (2) PUSH到遠端 ``` git push origin minganJ ``` ![image](https://hackmd.io/_uploads/By3DZzqq6.png) ## 步驟說明 切換路徑 ``` cd (拖入要上傳資料匣後 按下Enter) ``` ### 1. 確保處於正確的分支 在進行任何操作之前,確保你處於正確的本地分支。你可以使用以下命令切換到master分支 ```bash git checkout master ``` ### 2. 從遠端GitHub拉取主分支的更新 使用以下命令從遠端 GitHub 拉取 "遠端主分支"(origin master)的最新更新到本地分支: ```bash git pull origin master ``` 這將同步遠端的最新變更到你的本地分支。 ### 3. 把本地的Master分支合併到自己的分支 假如我本地的分支叫minganJ, 使用以下命令從遠端 GitHub 拉取 "遠端主分支"(origin master)的最新更新到本地分支: ```bash git pull origin master ``` 這將同步遠端的最新變更到你的本地分支。 ### 4. 解決可能的合併衝突 如果在拉取遠端更新時出現合併衝突,需要解決這些衝突。Git 會提示你進行合併並解決衝突。解決後,使用以下命令完成合併 ```bash git add . git commit -m "fix: Resolve merge conflicts" ``` ### 5. 繼續開發工作 一旦成功拉取並解決合併衝突,你就可以繼續進行日常的開發工作。 ### 6. Commit到(本地個人Local Branch) Add到Staged Area,Commit到索引區,Commit到個人分支 將修改的文件加入到暫存區(Staged Area),然後提交到本地索引區(Index): ```bash git add . git commit -m "Your commit message" ``` 這個步驟將你的修改儲存到本地個人分支。 ### 6. Push到(遠端個人Branch ) 使用以下命令將本地個人分支的修改推送到遠端個人分支 ***請務必測試過,自己要更新的內容可以用!*** ***請務必測試過,自己要更新的內容可以用!*** ***請務必測試過,自己要更新的內容可以用!*** ``` git push origin YourBranchName ``` ### 7. 發送 PR(Pull Request) 通過遠端個人分支的操作,你可以發送一個 PR 到主分支,讓團隊進行審查和合併。這個過程可能需要在代碼審查中進行進一步的討論和修改,以確保代碼的質量和一致性。 ### . 注意事項 **Eclipse 流程** **Add project :** 1.File → import → Git → project from GIT ( with smart import) → clone URL **Daily update process:** 1.Switch to Master branch 2.Pakege EdogTest Master (click rightbtn) → Team →pull 3.Swich to myself branch(skychen) 4.Pakege EdogTest skychen (click rightbtn) → Team →Merge **Upload process :** 1.Eclipse commit 2.Github PR **Fix encountered :** 1.Swich to myself branch(skychen) 2.Pakege EdogTest myself branch(skychen) (click rightbtn) → Team →pull … 3.Reference = master , When pulling = Rebase interactively 4.Fix encountered 5.Eclipse commit 6.Eclipse continue 7.push setting →force push 8.Github PR