iT邦幫忙

2024 iThome 鐵人賽

DAY 19
0
Modern Web

從零開始:全端新手的困境與成長系列 第 19

Day 19 開始使用 Git 來管理 Side Project

  • 分享至 

  • xImage
  •  

今天我們來聊聊超級必學,也超級重要的工具:Git。即使你是自己一個人做 Side Project,Git 仍然是你不可或缺的專案管理夥伴。它能幫助你追蹤每一次的修改、處理功能開發、甚至為未來的團隊合作做好準備。如果你還沒開始用 Git,這篇文章會告訴你為什麼它那麼重要,還有如何搭配 GitHub 和 Sourcetree 來使用 Git!

https://ithelp.ithome.com.tw/upload/images/20240927/20168326kOv5h4CCRX.png

文章大綱

  1. 用 Git 來管理專案的好處
  2. Git 分支規範與命名
  3. 使用 GitHub 來管理專案
  4. Commit 的原則
  5. 使用 Sourcetree 進行視覺化 Git 管理
  6. 利用 ChatGPT 學習 Git 指令:解決難題的秘密武器
  7. Git 讓開發變得更輕鬆

1. 用 Git 來管理專案的好處

很多人一開始可能會覺得:「我自己一個人在做專案,真的需要用 Git 嗎?」其實,Git 不僅僅是多人合作的工具,它也是一個強大的個人專案管理工具,讓你更容易掌控開發過程。下面來看看沒有使用 Git 的壞處:

1-1. 沒有 Git 的壞處

無法回溯歷史版本

沒有 Git,你無法輕鬆地回到專案之前的狀態。如果程式出錯或改壞了,你可能要自己手動找回舊版本,這會耗費你大量的時間和精力。

容易覆寫或遺失修改

當你不小心刪掉了某些重要程式碼,沒有 Git 的情況下可能只能重寫,這不僅耗時,還有可能重犯同樣的錯誤。

難以管理多版本的功能開發

當你同時進行多個功能開發時,如果沒有 Git,你會發現代碼開始混亂,難以回溯每個功能的開發狀況。

難以追蹤改動

在進行專案一段時間後,沒有 Git,你可能會忘記某些改動的原因。Git 能幫助你記錄每次修改,這樣未來回顧時能一眼看出每次變更的原因。

1-2. 只有自己一個人,也需要用 Git 嗎?

當然需要!即使你是獨立開發者,Git 也能讓你的專案管理更有條理:

紀錄每次變更

Git 幫助你記錄每一次變更,當你需要回到某個時間點的版本時,只要簡單幾個命令就可以完成,不用擔心因為錯誤修改導致專案崩潰。

版本控制更清晰

你可以為不同功能和修復創建分支,這樣每個分支都是獨立的,不會互相影響,當新功能穩定後再合併到主分支。

更好的專案備份

將你的專案推送到 GitHub、GitLab 等遠端儲存庫,即使電腦壞了,程式碼也能安全保存。

為未來團隊合作順利

即便現在是自己開發,未來可能需要團隊合作。使用 Git 的習慣能讓團隊更容易理解你的專案歷史,並迅速接手專案。


2. Git 分支規範與命名

Git 的強大之一在於它的分支管理系統。不同的功能和修復應該有自己的分支,這樣可以確保穩定性,不會因一個功能出錯,導致整個專案出問題。

Git Flow 分支模型

Git Flow 是一個常見的工作流程,它有助於你保持清晰的版本管理,讓你在多個分支之間切換時不會迷失方向。它的主要分支包括:

  • Master 分支:穩定的生產版本,所有功能經過測試確認後才合併進 Master。
  • Develop 分支:主要開發分支,所有新功能與修復都會先在這裡進行測試和驗證。
  • Feature 分支:每一個新功能應該有自己的分支,當開發完成後再合併回 Develop。
  • Bugfix 分支:專門用來修正錯誤的分支,修復完成後合併回 Develop。
  • Release 分支:準備發佈的版本會從 Develop 分支中分出來,進行最終測試,確認無誤後合併到 Master。

這樣的分支管理可以確保專案的穩定性,避免因新功能或修復影響到整個專案。


3. 使用 GitHub 來管理專案

除了在本機使用 Git,你還可以透過 GitHub 來管理專案,進行遠端備份、與他人協作。以下是如何開始使用 GitHub 的基本教學:

https://ithelp.ithome.com.tw/upload/images/20240927/20168326rAc9LTdLHr.png

如何開始使用 GitHub:

  1. 註冊帳號

    前往 GitHub 註冊一個帳號,這是專案管理的第一步。

  2. 建立儲存庫(Repository)

    點擊 GitHub 介面右上角的「+」按鈕,選擇「New repository」,輸入儲存庫名稱和描述,並設定成公開或私有。

  3. 將專案推送到 GitHub

    使用以下命令將你本地的專案推送到 GitHub 上:

    git init
    git add .
    git commit -m "初始化專案"
    git branch -M main
    git remote add origin https://github.com/你的帳號/你的儲存庫.git
    git push -u origin main
    
    
  4. 定期推送更新

    開發過程中,記得定期將你的專案更新推送到 GitHub:

    
    git add .
    git commit -m "描述更新內容"
    git push origin main
    
    

透過 GitHub,你可以隨時隨地進行專案管理,不管在哪台設備上都能存取程式碼,並能輕鬆與其他人合作。


4. Commit 的原則

Git 的 Commit 功能能讓你清晰地記錄每次更新與修改,但 Commit 訊息也應該清楚易懂,這樣未來回顧時會更方便。

撰寫有意義的 Commit 訊息:

  1. 簡潔清晰

    「修復了登入頁的按鈕樣式」比「修了一些 Bug」更具體,讓大家知道這次變更的具體內容。

  2. 保持一致性

    確保 Commit 訊息格式統一,這樣專案歷史看起來更有條理。


5. 使用 Sourcetree 進行視覺化 Git 管理

如果你對於命令行操作不熟悉或覺得複雜,可以試試 Sourcetree,它是一個免費的 Git 圖形化工具,讓你用直覺的方式來管理 Git 操作。

https://ithelp.ithome.com.tw/upload/images/20240927/20168326naWVZbMaE9.png

如何使用 Sourcetree:

  1. 下載 Sourcetree

    前往 Sourcetree 官網 下載並安裝 Sourcetree。

  2. 設定 GitHub 連線

    打開 Sourcetree,進行初次設定時,你可以直接連結你的 GitHub 帳號。這樣可以同步 GitHub 上的儲存庫,方便推送和拉取專案。

  3. 複製遠端儲存庫

    在主頁選擇「Clone」,然後輸入你在 GitHub 上的儲存庫 URL,這樣你就可以將專案同步到本地端。

  4. 進行 Git 操作

    • Commit:選擇想要提交的檔案,點擊「Commit」按鈕,輸入 commit 訊息即可。
    • Push:進行本地操作後,點擊「Push」將更改推送到 GitHub。
    • Pull:點擊「Pull」可以從 GitHub 上獲取最新的代碼並同步到本地。

Sourcetree 提供了非常直觀的介面,不僅讓你輕鬆管理本地分支、遠端倉庫,還能視覺化地查看每次提交的歷史記錄。


6. 利用 ChatGPT 學習 Git 指令:解決難題的秘密武器

在使用 Git 時,有些操作指令可能讓人摸不著頭緒,尤其是像 rebase 這種比較高階的指令。這時候,別擔心,你可以把 ChatGPT 當作你的學習夥伴,快速學習那些你不熟悉的 Git 操作!

如何使用 ChatGPT 學習 Git 指令?

  1. 問清楚具體問題:當你對某個指令不熟悉時,像是 git rebase,可以先簡單描述你的困惑,然後問 ChatGPT,例如:

    「請問 git rebase 是什麼?它和 merge 有什麼不同?」

  2. 學習指令的詳細步驟:你可以請 ChatGPT 詳細解釋每個步驟,甚至附上範例代碼,幫助你更好理解。例如:

    • 「我想知道 git rebase 怎麼操作,能否告訴我詳細步驟?」
    • ChatGPT 會給你步驟和解釋,例如:如何用 git rebase 整合 feature 分支進入 develop 分支。
  3. 尋找指令應用場景:如果你對某些場景下的 Git 指令使用有疑問,可以讓 ChatGPT 幫助你找到解決方案:

    • 「我有一個 feature 分支,需要合併到 develop,但有些 commit 想要整理,應該用 rebase 還是 merge?」
  4. 反覆練習:在了解了指令之後,你可以請 ChatGPT 模擬真實的情境,反覆解釋或生成更多例子幫助你練習,直到你對指令完全掌握。

我的經驗:透過 ChatGPT 學會 rebase

像我當初學習 git rebase 的時候,也是經常搞混,搞不懂和 merge 的差異。我就透過 ChatGPT 詢問具體的步驟,像是如何整理 commit 歷史、如何避免 commit 混亂等。AI 很快速地幫我解釋清楚,還提供了範例,我在實際操作中也不斷請教它新的問題,逐步掌握了這個重要指令。

所以,當你遇到不熟悉的 Git 操作時,別害怕問問題,ChatGPT 是你隨時可以依賴的學習工具,幫助你突破技術障礙,快速上手!


7. Git 讓開發變得更輕鬆

希望今天的介紹能讓你更了解 Git 和 GitHub、Sourcetree 的好處。無論是一個人開發 side project 還是未來團隊合作,這些工具都會成為你不可或缺的夥伴。透過 Git 的分支管理、版本控制、視覺化操作,開發過程會變得更加有條理、流暢!


上一篇
Day18 掌控時程,開發更有節奏!破解工時焦慮
系列文
從零開始:全端新手的困境與成長19
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言