Git 實戰指令-為我程式人生做紀錄
相信大多數的人都知道 Git 是什麼,輸入關鍵字也都出現千篇一律的介紹文章,所以這邊就不再贅述一連串的廢話,此篇文章只做指令說明及使用時機。

雖然現在有 Claude Code、Codex、Github Copilot 等多種 AI 協作工具,可以透過 Prompt 協助完成 Git 操作,甚至自動生成 Commit message 讓你無須思考要怎麼下 Commit,或者是 restore、reset 的撤銷變更。
不過在這一塊,筆者我還是偏向手動操作的習慣,確保每一次的變更都有清楚的掌握,當然也希望未來自己可以更放手的去給 AI 完成。
git init
初始化 Git repository(建立 .git 版本控制目錄),需在專案 root 操作。
git init
git add
添加檔案到變更暫存區,可分為全部添加及指定路徑添加。
當前目錄與子目錄
git add .
指定路徑
git add <path>
git commit
將變更暫存區提交一個版本紀錄,並說明本次提交操作及更動方向。
-m 是 message 縮寫,接續在 commit 後面可以省略進入 editor 裡編輯訊息
git commit -m <message>
git push
將本地端的 commit 推送到遠端 repository,需先設定好遠端 repository 的 URL。
remote:remote 是 repository 的名稱,通常預設為 origin。branch:branch 是分支的名稱,通常會是 main 或當前功能如 feature/xxx 的規則名稱。
git push <remote> <branch>
git clone
從遠端 repository 下載一份到本地端,會自動建立與 repository 同名的資料夾,並將遠端 repository 的相關檔案下載到該資料夾中。
git clone <repository-url>
git status
查看目前 repository 狀態,會顯示哪些檔案已做更改,哪些檔案已添加到站存區。
git status
git log
查看 commit 歷史紀錄,會顯示每次的 commit ID、作者、日期、commit message 資訊。
git log
git branch
創建分支名稱使用,一般在開發上都會用到創建分支的操作。
git branch <branch-name>
刪除分支
用於將指定分之名稱刪除使用,需先切換到其他分支才可以刪除。
-d是安全刪除分支的參數,會檢查是否有未合併的變更,如果有則不會刪除分支,需先合併後才能刪除。(推薦使用)-D是強制刪除分支的參數,會忽略未合併的變更,直接刪除分支。(較不推薦使用)
git branch -d <branch-name>
git checkout
切換分支使用,當有多個分支時,可以使用此指令切換分支開發。
git checkout <branch-name>
創建分支並切換
加入 -b 參數可以在創建分支過程中同時切換到該分支。
git checkout -b <branch-name>
git fetch
從遠端 repository 下載最新的 commit 紀錄,但不會自動合併到當前分支,需要手動執行 git merge 操作。
git fetch <remote-name>
git merge
將當前分支內容與指定分支內容合併,通常會在當前分支開發完畢後,將當前內容合併到 main 分支上。
git merge <branch-name>
git pull
從遠端 repository 下載最新 commit 紀錄,並且自動合併到當前分支,等同於 git fetch + git merge 操作。
git pull <remote-name> <branch-name>
git reset
還原還本,一個 ^ 是還原一個版本,以此類推,還原後的版本會變成 uncommitted 的狀態。
git reset HEAD^
git restore
還原未加入暫存區的變更,會將指定檔案或路徑中的檔案,還原到最後一次 commit 的狀態,等同於放棄對檔案的修改。
git restore <file-path>
git restore .
git restore --staged
還原已加入暫存區的變更,會將指定檔案或路徑中的檔案,從暫存區中移除,但不會刪除對檔案的修改,等同於將檔案從暫存區中撤銷。
git restore --staged <file-path>
git stash
檔案暫存
將當前開發檔案暫存起來,需先將檔案 git add 添加到暫存區,然後執行 git stash 就會將當前變更的檔案暫存起來。
git stash push -m <message>
git remote
查看遠端 repository 的名稱,通常為 origin。
git remote
git diff
--shortstat
查看已加入暫存區的變更。會顯示變更幾支檔案,以及變更的行數。
git diff --staged --shortstat