← 上一章:使用者設定 下一章:新增、初始 Repository →
其它方便的設定
工程師大多有著懶惰的美德,討厭重複的工作,所以常會幫自己設定一些方便的設定,以下是一些我自己在 Git 上常會做的方便設定。
更換編輯器
一般來說,Vim 是 Git 預設的編輯器,所以在終端機下使用 Git,對新手的麻煩之一就是或多或少都會遇到 Vim 這個編輯器。雖然我們在超精簡 Vim 操作介紹章節介紹了這個神奇的編輯器大概怎麼使用,但對平常沒在用,或用不習慣的人來說還是會覺得很麻煩。
不過還好,不一定要用 Vim,你可以在終端機下執行這個指令:
$ git config --global core.editor emacs
這樣就可以把預設的 Vim 編輯器換成 Emacs 了(咦?好像沒比較好?)
其實除了 Vim 或 Emacs 之外,也可以使用 Sublime Text、Atom 或是 Visual Studio Code 比較現代的文字編輯器。只是你需要先 Google 一下怎麼從終端機啟動這些應用程式,然後就可以用一樣的方法把 Vim 換掉了。
如果在操作 Git 的過程中跳出 Vim 這個問題對你一直很困擾,那建議可以搭配圖形介面軟體使用。
懶得打字,或常打錯字
雖然 Git 指令不長,但有時候就懶得打那麼多字(例如 checkout
指令就有 8 個字母),或是有些指令就是常會打錯(例如 status
指令我就常打成 state
)。
遇到這種狀況,我們可以在 Git 裡設定一些「縮寫」,然後就可以少打幾個字。只要在終端機下執行:
$ git config --global alias.co checkout
$ git config --global alias.br branch
$ git config --global alias.st status
設定之後,輸入 git co
指令就跟 git checkout
會有一樣的效果,git st
就有 git status
的效果,一下就省了很多個鍵。
而且還可以再加一些參數進去,例如每次在看 log 的時候,為了看比較精簡的資訊,都得要輸入 git log --oneline --graph
這麼長的指令,改用 Alias 設定的話:
$ git config --global alias.l "log --oneline --graph"
這樣之後只要輸入 git l
就可以有原來 --oneline --graph
的效果了:
$ git l
* cc200b5 (HEAD -> master) Merge branch 'cat'
|\
| * 0d1d15d (cat) add cat 2
| * 0d392fb add cat 1
|/
* 657fce7 (origin/master, origin/HEAD) add container
* abb4f43 update index page
* cef6e40 create index page
* cc797cd init commit
或是甚至可以再把格式弄複雜一點,把 Commit 時間的人跟時間都加進來:
$ git config --global alias.ls 'log --graph --pretty=format:"%h <%an> %ar %s"'
尾巴那段看起來有點複雜的 format
的參數就是印出 Commit 的各別資訊,參數代表的意思請執行 git help log
後查閱關於 format
有關的段落。用起來的樣子就會像這樣:
$ git ls
* cc200b5 <Eddie Kao> 9 seconds ago Merge branch 'cat'
|\
| * 0d1d15d <Eddie Kao> 18 seconds ago add cat 2
| * 0d392fb <Eddie Kao> 20 seconds ago add cat 1
|/
* 657fce7 <Eddie Kao> 13 days ago add container
* abb4f43 <Eddie Kao> 13 days ago update index page
* cef6e40 <Eddie Kao> 2 weeks ago create index page
* cc797cd <Eddie Kao> 2 weeks ago init commit
這樣甚至不需要圖形介面工具也可以輕鬆的看 log。上面這些 Alias 的設定,也可直接到 ~/.gitconfig
裡修改:
[alias]
co = checkout
br = branch
st = status
l = log --oneline --graph
ls = log --graph --pretty=format:"%h <%an> %ar %s"
不要小看這幾個字的差別,每次少敲幾次鍵盤,長期累積下來也是很驚人的。
Comments