# 初次運行 Git 前的配置
既然已經在系統上安裝了 Git,你會想要做幾件事來定制你的 Git 環境。 每臺計算機上只需要配置一次,程序升級時會保留配置信息。 你可以在任何時候再次通過運行命令來修改它們。
Git 自帶一個?`git config`?的工具來幫助設置控制 Git 外觀和行為的配置變量。?這些變量存儲在三個不同的位置:
1. `/etc/gitconfig`?文件: 包含系統上每一個用戶及他們倉庫的通用配置。 如果使用帶有?`--system`?選項的?`git config`?時,它會從此文件讀寫配置變量。
2. `~/.gitconfig`?或?`~/.config/git/config`?文件:只針對當前用戶。 可以傳遞?`--global`?選項讓 Git 讀寫此文件。
3. 當前使用倉庫的 Git 目錄中的?`config`?文件(就是?`.git/config`):針對該倉庫。
每一個級別覆蓋上一級別的配置,所以?`.git/config`?的配置變量會覆蓋?`/etc/gitconfig`?中的配置變量。
在 Windows 系統中,Git 會查找?`$HOME`?目錄下(一般情況下是?`C:\Users\$USER`)的`.gitconfig`?文件。 Git 同樣也會尋找?`/etc/gitconfig`?文件,但只限于 MSys 的根目錄下,即安裝 Git 時所選的目標位置。
## 用戶信息
當安裝完 Git 應該做的第一件事就是設置你的用戶名稱與郵件地址。 這樣做很重要,因為每一個 Git 的提交都會使用這些信息,并且它會寫入到你的每一次提交中,不可更改:
~~~
$ git config --global user.name "John Doe"
$ git config --global user.email johndoe@example.com
~~~
再次強調,如果使用了?`--global`?選項,那么該命令只需要運行一次,因為之后無論你在該系統上做任何事情, Git 都會使用那些信息。 當你想針對特定項目使用不同的用戶名稱與郵件地址時,可以在那個項目目錄下運行沒有?`--global`?選項的命令來配置。
很多 GUI 工具都會在第一次運行時幫助你配置這些信息。
## 文本編輯器
既然用戶信息已經設置完畢,你可以配置默認文本編輯器了,當 Git 需要你輸入信息時會調用它。 如果未配置,Git 會使用操作系統默認的文本編輯器,通常是 Vim。 如果你想使用不同的文本編輯器,例如 Emacs,可以這樣做:
~~~
$ git config --global core.editor emacs
~~~
>[danger] #### WARNING
> Vim 和 Emacs 是像 Linux 與 Mac 等基于 Unix 的系統上開發者經常使用的流行的文本編輯器。 如果你對這些編輯器都不是很了解或者你使用的是 Windows 系統,那么可能需要搜索如何在 Git 中配置你最常用的編輯器。 如果你不設置編輯器并且不知道 Vim 或 Emacs 是什么,當它們運行起來后你可能會被弄糊涂、不知所措。
## 檢查配置信息
如果想要檢查你的配置,可以使用?`git config --list`?命令來列出所有 Git 當時能找到的配置。
~~~
$ git config --list
user.name=John Doe
user.email=johndoe@example.com
color.status=auto
color.branch=auto
color.interactive=auto
color.diff=auto
...
~~~
你可能會看到重復的變量名,因為 Git 會從不同的文件中讀取同一個配置(例如:`/etc/gitconfig`?與?`~/.gitconfig`)。 這種情況下,Git 會使用它找到的每一個變量的最后一個配置。
你可以通過輸入?`git config <key>`:?來檢查 Git 的某一項配置
~~~
$ git config user.name
John Doe
~~~
- 前言
- Scott Chacon 序
- Ben Straub 序
- 獻辭
- 貢獻者
- 引言
- 1. 起步
- 1.1 關于版本控制
- 1.2 Git 簡史
- 1.3 Git 基礎
- 1.4 命令行
- 1.5 安裝 Git
- 1.6 初次運行 Git 前的配置
- 1.7 獲取幫助
- 1.8 總結
- 2. Git 基礎
- 2.1 獲取 Git 倉庫
- 2.2 記錄每次更新到倉庫
- 2.3 查看提交歷史
- 2.4 撤消操作
- 2.5 遠程倉庫的使用
- 2.6 打標簽
- 2.7 Git 別名
- 2.8 總結
- 3. Git 分支
- 3.1 分支簡介
- 3.2 分支的新建與合并
- 3.3 分支管理
- 3.4 分支開發工作流
- 3.5 遠程分支
- 3.6 變基
- 3.7 總結
- 4. 服務器上的 Git
- 4.1 協議
- 4.2 在服務器上搭建 Git
- 4.3 生成 SSH 公鑰
- 4.4 配置服務器
- 4.5 Git 守護進程
- 4.6 Smart HTTP
- 4.7 GitWeb
- 4.8 GitLab
- 4.9 第三方托管的選擇
- 4.10 總結
- 5. 分布式 Git
- 5.1 分布式工作流程
- 5.2 向一個項目貢獻
- 5.3 維護項目
- 5.4 總結
- 6. GitHub
- 6.1 賬戶的創建和配置
- 6.2 對項目做出貢獻
- 6.3 維護項目
- 6.4 管理組織
- 6.5 腳本 GitHub
- 6.6 總結
- 7. Git 工具
- 7.1 選擇修訂版本
- 7.2 交互式暫存
- 7.3 儲藏與清理
- 7.4 簽署工作
- 7.5 搜索
- 7.6 重寫歷史
- 7.7 重置揭密
- 7.8 高級合并
- 7.9 Rerere
- 7.10 使用 Git 調試
- 7.11 子模塊
- 7.12 打包
- 7.13 替換
- 7.14 憑證存儲
- 7.15 總結
- 8. 自定義 Git
- 8.1 配置 Git
- 8.2 Git 屬性
- 8.3 Git 鉤子
- 8.4 使用強制策略的一個例子
- 8.5 總結
- 9. Git 與其他系統
- 9.1 作為客戶端的 Git
- 9.2 遷移到 Git
- 9.3 總結
- 10. Git 內部原理
- 10.1 底層命令和高層命令
- 10.2 Git 對象
- 10.3 Git 引用
- 10.4 包文件
- 10.5 引用規格
- 10.6 傳輸協議
- 10.7 維護與數據恢復
- 10.8 環境變量
- 10.9 總結
- A. 其它環境中的 Git
- A1.1 圖形界面
- A1.2 Visual Studio 中的 Git
- A1.3 Eclipse 中的 Git
- A1.4 Bash 中的 Git
- A1.5 Zsh 中的 Git
- A1.6 Powershell 中的 Git
- A1.7 總結
- B. 將 Git 嵌入你的應用
- A2.1 命令行 Git 方式
- A2.2 Libgit2
- A2.3 JGit
- C. Git 命令
- A3.1 設置與配置
- A3.2 獲取與創建項目
- A3.3 快照基礎
- A3.4 分支與合并
- A3.5 項目分享與更新
- A3.6 檢查與比較
- A3.7 調試
- A3.8 補丁
- A3.9 郵件
- A3.10 外部系統
- A3.11 管理
- A3.12 底層命令