Podcast 播放

相關資源

下載 AI 深度研究報告 (DOCX):

AI深度研究報告

核心概念

理解Git的基石。本章節將透過互動圖表,幫助您視覺化地掌握Git如何管理您的程式碼,特別是工作目錄、暫存區和儲存庫這三大區域之間的關係。

三大工作區域互動模型

這是 Git 最核心的工作流程。您的檔案會在「工作目錄」被修改,透過 git add 進入「暫存區」待命,最後藉由 git commit 永久存入「Git 儲存庫」。點擊下方按鈕,觀察檔案狀態的流轉!

1. 工作目錄

my-file.js (已修改)

2. 暫存區 (Index)

3. Git 儲存庫

Git的資料處理:快照而非差異

與許多版本控制系統儲存「檔案差異」不同,Git的核心思想是「快照」。每次提交時,Git都會對整個專案製作一個快照並儲存。如果檔案未修改,Git只會保留一個指向之前已儲存檔案的連結。這使得Git在處理分支和歷史紀錄時極其高效。

基礎工作流

本章節涵蓋了您日常開發中最常用的Git指令。從初始化專案到提交您的第一個變更,我們將一步步引導您完成整個流程。

git init

在目前目錄初始化一個新的Git儲存庫。

git init

git status

顯示工作目錄和暫存區的狀態,是您的「安全網」。

git status

git add

將檔案變更加到暫存區,準備提交。

git add <file_name>
git add .

git commit

將暫存區的內容建立一個新的提交紀錄。

git commit -m "提交訊息"

git log

查看提交歷史紀錄。

git log
git log --oneline --graph

初始設定

設定您的使用者名稱和Email,這對團隊協作至關重要。

git config --global user.name "你的名字"
git config --global user.email "你的郵箱"

分支管理

分支是Git的王牌功能。它讓您能安全地在獨立的環境中開發新功能或修復錯誤,而不影響主線。此互動圖表將展示分支的建立、提交與合併過程。

分支流程互動模型

Git Flow

一種嚴謹的分支策略,定義了 master, develop, feature, release, hotfix 五種分支。適合需要嚴格版本控制的大型專案。

GitHub Flow

一種輕量化的策略,只有一個主分支 (main)。所有開發都在特性分支進行,透過 Pull Request 合併。適合快速迭代和持續交付的專案。

遠端協作

軟體開發是團隊運動。本章節介紹如何與GitHub等遠端儲存庫互動,同步您和他人的工作成果。

git clone

將一個遠端儲存庫完整複製到您的本地電腦。

git clone <repository_URL>

git push

將您的本地提交推送到遠端儲存庫。

git push origin <branch_name>

fetch vs pull

兩者都用於同步遠端變更,但有細微且重要的差別:

git fetch

只會下載遠端最新的資料到本地,但**不會**自動合併或修改您目前的工作。它讓您能在合併前先查看遠端的變更。

git pull

是 `git fetch` 加上 `git merge` 的組合。它會下載最新資料並**立即嘗試合併**到您目前的分支。更為直接,但也可能立即產生合併衝突。

撤銷與還原

人非聖賢,孰能無過。學會如何安全地撤銷錯誤操作是專業開發者的必備技能。這裡我們將比較兩種最關鍵的撤銷提交指令:revertreset

Revert vs Reset 互動比較

假設我們有一個提交歷史,現在想要撤銷「加入錯誤功能」這個提交。使用下方的開關,看看 `revert` 和 `reset` 分別會對歷史紀錄做什麼。

安全 (Revert) 危險 (Reset)

良好習慣

技術只是工具,良好的習慣才能發揮其最大價值。養成這些習慣,將使您成為更可靠的團隊成員。

✨ 提交粒度適中

一次提交只做一件事(如修復一個Bug、開發一個小功能)。

📝 撰寫清晰的提交訊息

讓未來的自己和同事能快速理解這次變更的目的。

🔄 頻繁使用 `git status`

在執行 `add` 和 `commit` 前,永遠清楚自己的工作區狀態。

🤝 推送前先拉取

執行 `git push` 前,先用 `git pull` 同步遠端變更,減少衝突。

常用指令分佈

這張圖表大致呈現了不同類型Git指令在日常工作中的使用頻率,幫助您了解學習的重點。