Featured image of post 透過自訂 Git 設定別名使開發速度加倍Featured image of post 透過自訂 Git 設定別名使開發速度加倍

透過自訂 Git 設定別名使開發速度加倍

在 gitconfig 中為互動式變基、日誌圖表和分支追蹤設定自訂別名。

您每天在終端機中輸入多少次諸如 git statusgit checkoutgit commit 之類的命令?對於活躍的開發人員來說,答案很容易是數十或數百。重複輸入這些完整命令會浪費擊鍵次數、增加打字錯誤並減慢您的開發動力。

Git 有一個內建功能可以解決這個問題:別名。透過配置別名,您可以將複雜的選項或常用命令對應到簡短的自訂縮寫。

在本指南中,我們將逐步介紹如何設定別名並分享最受歡迎的配置列表,以提高您的日常工作效率。


1. 如何定義 Git 別名

您可以透過直接在終端機中執行設定命令,或使用文字編輯器開啟並編輯全域設定檔 (~/.gitconfig) 來新增 Git 別名。

透過 CLI 設定:

# Register 'st' as a shortcut for 'status'
git config --global alias.st status

透過 ~/.gitconfig 配置:

開啟設定檔並在 [alias] 部分下建置它:

[alias]
    st = status
    co = checkout
    br = branch
    ci = commit

2. 每個開發者必備的別名

以下是在最常用的工作流程中最大限度地減少按鍵次數的基本快捷鍵:

[alias]
    st = status -sb    # Displays a short, concise status summary
    co = checkout
    br = branch
    ci = commit
    cm = commit -m     # Fast commit with a message inline
    di = diff
    pl = pull
    ps = push

強烈建議使用 status -sb 標誌,因為它去除了詳細的指令,只留下分支名稱和修改檔案的清單。


3. 先進高效率的別名

讓我們看看結合了格式化選項和 shell 腳本的更複雜的別名。

① 漂亮的日誌視覺化 (git graph)

在標準終端輸出中讀取提交路徑和合併歷史記錄很困難。註冊自訂日誌檢視器別名:

git config --global alias.graph "log --graph --date=short --decorate --pretty=format:'%C(yellow)%h%Creset %C(magenta)%ad%Creset%C(auto)%d%Creset %s %C(cyan)[%an]%Creset'"

執行 git graph 將顯示一個彩色、乾淨的 ASCII 分支樹圖,映射提交日期、作者和參考文獻。

② 即時修改最後一次提交 (git amend)

如果您忘記暫存檔案或在上次提交訊息中輸入錯誤,請使用此別名將暫存變更吸收到上次提交中,而無需編輯訊息:

[alias]
    amend = commit --amend --no-edit

③ 清理合併分支(git sweep)

隨著功能的集成,您的本地環境將充滿舊的合併分支。使用 shell 管道(在別名定義中使用 ! 前綴呼叫)來清理它們:

[alias]
    sweep = "!git branch --merged | grep -v '\\*' | grep -v 'main' | grep -v 'master' | grep -v 'develop' | xargs -r git branch -d"

結論

設定 Git 別名是一項省力、高收益的配置變更。一旦寫入全域 ~/.gitconfig 檔案:

  1. **主要命令的鍵入要求被最小化。 **
  2. **複雜的日誌格式化指令被簡化為單字。 **
  3. **可以使用 shell 觸發器自動執行工作空間清理指令。 **

立即自訂您的設定檔以建立更快、更有效率的命令列工作流程。