個人設定
每次提交 git 時都會有紀錄,而這些基本的紀錄訊息有部分來自於我們的設定。
例如提交者姓名、電子信箱等,透過這些資料,我們可以知道是誰做了什麼事情。
特別是在一個專案中,可能有好幾個開發者,從紀錄中我們可以很清楚知道要找誰協調問題。
通常個人設定都只要設定一次即可,以後都會套用這樣的設定。
設定姓名與電子郵箱
在 git bash 中輸入以下兩行指令:
$ git config --global user.name "NVDA TW"
$ git config --global user.email "nvda@forblind.org.tw"
我們分析一下上面的指令:
git
指令當然都是以 git 開頭的。config
通常用來配制設定檔--global
是全域設定,也就是沒有特別設定就以此為預設值的意思- 因為可以做的設定其實有很多,所以我們這邊指定
user.name
設定使用者姓名與user.email
設定使用者電子郵箱 - 最後設定的值使用雙引號包夾是因為可能會有空格,不使用引號的話,空格會被當成是下一個參數,這樣就會發生錯誤
- 每個參數間的空格都是必要的,這樣程式才能正確區分不同參數
確認當前設定
設定完當然需要確認一下有沒有成功,我們可以輸入:
git config --list
diff.astextplain.textconv=astextplain
filter.lfs.clean=git-lfs clean -- %f
filter.lfs.smudge=git-lfs smudge -- %f
filter.lfs.process=git-lfs filter-process
filter.lfs.required=true
http.sslbackend=openssl
http.sslcainfo=C:/Program Files/Git/mingw64/ssl/certs/ca-bundle.crt
core.autocrlf=true
core.fscache=true
core.symlinks=false
core.editor="C:\\Program Files\\Notepad++\\notepad++.exe" -multiInst -notabbar -
nosession -noPlugin
credential.helper=manager
user.name=NVDA TW
user.email=nvda@forblind.org.tw
前面有其他的設定,我們主要先看最後兩行就好。
的確有成功設定了
設定檔
如果不想打指令設定也可以使用編輯器直接打開設定檔來進行設定
不管是使用指令或圖形介面來設定,最後程式都會把資訊寫進設定檔當中
個人設定檔位在目前登入 windows 帳號下的 .gitconfig
這個檔案
以我這邊為例,使用者帳號是 administrator
那設定檔的完整路徑就在 C:\Users\Administrator\.gitconfig
以上是 windows 的路徑,其實剛進入 git bash 還沒切換資料夾的話,預設直接就是在自己的帳號下了
而在 git bash 顯示設定檔的路徑長這樣 /c/Users/Administrator/.gitconfig
讓我們以 vim 來看一下設定檔的內容:
$ vim ~/.gitconfig
[user]
name = NVDA TW
email = nvda@forblind.org.tw
- ~ 表示家目錄,也就是自己帳號下的意思,這樣就不需要輸入那麼長的路徑了
- . 開頭的資料夾或檔案,在 linux 的世界裡是隱藏檔,linux base 不是以副檔名來與檔案做關連的
專案設定
基本上有 --global
就會有 --local
進入到某個專案後,將上述指令的 --global
參數換成 --local
後,在該專案下就會使用 local 所設定的值。
因為每個專案下會有一個 .git
的資料夾,因此在不同專案下使用 local 來設定時,
這些區域設定或稱專案設定會寫入 .git/config
這個設定檔案中。
所以在 global 設定檔不會看到各個專案的 local 設定
預設編輯器
其實在安裝 git 時就有這個選項,錯過了也沒關係,我們一樣可以下指令來變更,例如把 vim 改成 emacs:
$ git config --global core.editor emacs
重點是系統要有安裝這個編輯器,如果是其他的編輯器要先確認在 cmd 環境下怎麼打指令啟動,像是包含程式的路徑跟參數等等
內建的編輯器像 notepad 也就是記事本,應該可以直接設定
這邊提供 notepad++ 的設定:
git config --global core.editor "C:/Program Files/Notepad++/notepad++.exe" -multiInst -notabbar -nosession -noPlugin
別名(alias) 設定
慢慢的會發現 git 的指令除了參數多外,有些指令與參數的英文單字還滿長的
如果想要加快輸入又想避免容易打錯字的話,除了善用 tab
鍵讓系統來幫我們自動補齊外,
我們還可以設定一些縮寫別名來加快我們的輸入。
像是 branch 或 checkout 都是經常輸入且字母有點長的指令,提供以下設定供參:
$ git config --global alias.co checkout
$ git config --global alias.br branch
$ git config --global alias.st status
那以後輸入 git co
就相當於 git checkout
了,
不要小看少打幾個字,長期累積下來可是很可觀的。
不過也不要設定得太簡略,上面的設定 co 或 st 等等都還連想得出是什麼字的縮寫,
例如只有一個 m 到底是 master 還是 merge 或者其他,時間久了大概就搞不清楚了,
還要再去查的時間完整指令都打完了。
整串的指令縮寫也沒問題:
$ git config --global alias.l "log --oneline"
以此類推,上面的設定完成後,輸入 git l
相當於 git log --oneline
如果還不知道有哪些指令,那就等我們開始使用 git 一段時間再來設定別名吧。
別名設定檔
注意到了嗎,一樣是使用 --global
來設定的,因此設定檔都是 .gitconfig
$ vim ~/.gitconfig
[alias]
co = checkout
br = branch
st = status
l = log --oneline
好了,這些設定就很夠用囉,下一篇就真的要開始 git 了。
※最後更新時間:2020-02-09 12:09:11 From:1.161.151.30 By:特種兵