更新於 2022/08/12閱讀時間約 4 分鐘

有 10 項 git 的設定是我準備環境時都會設定的

當你買一輛車或腳踏車, 你第一件事會先調整座位的位置和手把的高度到適合你的身體大小. 這就跟 git 配置是一樣的.
在這篇文章, 我會分享一些 git 的設定, 而且是我一直都在使用的.

User name 和 Mail 位址
git config --global user.name "<name>" && \
git config --global user.email "<email>"
  • 把 name 換成我的名字, 以及 email 換成我的 mail 位址.

現存指令的別名
git config --global alias.co checkout
git config --global alias.st status
git config --global alias.br branch

全域的 ignore 設定
git config --global core.excludesfile ~/.gitignore_global
  • 這讓你在 ~/.gitignore_global中放入自己特定的 ignore 設定(除了每個專案的 .gitignore 以外), 會讓所有專案的所有 git 運作都採用他.

只 push 你現在正在處理的 branch
git config --global push.default simple

讓 --rebase 成為 git pull 期間的預設行為
git config --global pull.rebase true
  • 這會預防無意識到的 merge commit 新建, 發生時機是 pulled 的分支在本地有被修改過.

讓 --prune 成為在 git fetch 期間的預設行為
git config --global fetch.prune true
  • 這會移除那些遠端被刪除的本地分支, 是當 git fetch 或 git pull 實行時.

針對 tab 字元設定縮排的寬度
git config --global core.pager 'less -x4'
  • 在這個範例中, pager( less 指令) 的選擇指定了 tab 的縮排寬度為 4

當 committing , 時使用 nvim 作為所使用的編輯器
git config --global core.editor 'nvim'
  • 我針對不同目的使用不同的文字編輯器, 但我傾向 git commit使用 nvim .

當 merging 時不要 fast-forward
git config --global --add merge.ff false
git config --global --add pull.ff only
  • Fast-forward merging 會讓分支上的工作歷史難以追蹤. 所以, 當 merging 時避免無意識的 fast-forward.
  • 不過, fast-forwarding 對於 git pull 在大部分情況都不是問題, 所以我在 pull 的情況下強制 fast-forwarding.

在 git grep的結果中輸出行數
git config --global grep.lineNumber true
對 whitespace 可視覺化認出不同(包括 newline)
git config diff.wsErrorHighlight all

分享至
成為作者繼續創作的動力吧!
© 2024 vocus All rights reserved.