Skip to content

Git 指令

本文件整理常用的 Git 指令,包括分支管理、提交操作、差異比較等,適合作為日常開發參考手冊。每個指令附有簡要說明與實際使用場景。

常規提交

使用標準化的提交訊息格式,使 Git 歷史記錄更清晰易讀。

遠端管理

更改遠端位址

sh
git remote -v
git remote set-url origin <url>
  • git remote -v:查看目前遠端倉庫網址。
  • git remote set-url origin <url>:更改遠端 origin 的網址。

強制拉遠端分支覆蓋本地

sh
git pull -f origin develop:develop

注意

此指令會強制以遠端分支覆蓋本地分支,可能導致本地未提交的變更遺失。請謹慎使用。

分支管理

刪除本地分支

sh
git branch -d localBranchName

刪除遠端分支

sh
git push origin --delete remoteBranchName

cherry-pick

用於選擇性地將特定提交套用到當前分支。

合併其他分支的 Commit

sh
git cherry-pick fd23e1c 6a498ec f4f4442
git cherry-pick '第1個' '第2個' '第3個'
  • 第一行是實際使用 commit 哈希值的範例
  • 第二行是示意用法,需替換為實際的 commit ID

diff-tree

用於比較兩個樹對象(通常是 commit)之間的差異。

顯示 HEAD 與上一個 HEAD^ 差異的檔案

sh
git diff-tree -r --name-only --diff-filter=ACMRT HEAD~ HEAD
  • -r:遞迴比較子目錄
  • --name-only:僅顯示檔案名稱
  • --diff-filter=ACMRT:僅顯示新增(A)、複製(C)、修改(M)、重命名(R)和類型改變(T)的檔案

將差異檔案打包

將 HEAD 與上一個 HEAD^ 差異的檔案打包成 zip

sh
git archive --format=zip --output=update.zip HEAD $(git diff-tree -r --name-only --diff-filter=ACMRT HEAD~ HEAD)

兩個 commit 差異打包

sh
git archive --format=zip --output=update.zip HEAD $(git diff-tree -r --name-only --diff-filter=ACMRT HEAD~2 HEAD)
  • 此例比較最近兩次提交之間的差異