-
1. 開始
-
2. Git 基礎
- 2.1 取得一個 Git 倉儲
- 2.2 紀錄變更到版本庫中
- 2.3 檢視提交的歷史記錄
- 2.4 復原
- 2.5 與遠端協同工作
- 2.6 標籤
- 2.7 Git Aliases
- 2.8 總結
-
3. 使用 Git 分支
-
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 第3方 Git 託管方案
- 4.10 總結
-
5. 分散式的 Git
-
6. GitHub
- 6.1 建立帳戶及設定
- 6.2 參與一個專案
- 6.3 維護專案
- 6.4 Managing an organization
- 6.5 Scripting GitHub
- 6.6 總結
-
7. Git 工具
- 7.1 Revision Selection
- 7.2 Interactive Staging
- 7.3 Stashing and Cleaning
- 7.4 Signing Your Work
- 7.5 Searching
- 7.6 Rewriting History
- 7.7 Reset Demystified
- 7.8 Advanced Merging
- 7.9 Rerere
- 7.10 Debugging with Git
- 7.11 Submodules
- 7.12 Bundling
- 7.13 Replace
- 7.14 Credential Storage
- 7.15 總結
-
8. Customizing Git
- 8.1 Git Configuration
- 8.2 Git Attributes
- 8.3 Git Hooks
- 8.4 An Example Git-Enforced Policy
- 8.5 Summary
-
9. Git and Other Systems
- 9.1 Git as a Client
- 9.2 Migrating to Git
- 9.3 Summary
-
10. Git Internals
- 10.1 Plumbing and Porcelain
- 10.2 Git Objects
- 10.3 Git References
- 10.4 Packfiles
- 10.5 The Refspec
- 10.6 Transfer Protocols
- 10.7 Maintenance and Data Recovery
- 10.8 Environment Variables
- 10.9 Summary
-
A1. 附錄 A: Git in Other Environments
- A1.1 Graphical Interfaces
- A1.2 Git in Visual Studio
- A1.3 Git in Eclipse
- A1.4 Git in Bash
- A1.5 Git in Zsh
- A1.6 Git in Powershell
- A1.7 Summary
-
A2. 附錄 B: Embedding Git in your Applications
- A2.1 Command-line Git
- A2.2 Libgit2
- A2.3 JGit
-
A3. 附錄 C: Git Commands
- A3.1 Setup and Config
- A3.2 Getting and Creating Projects
- A3.3 Basic Snapshotting
- A3.4 Branching and Merging
- A3.5 Sharing and Updating Projects
- A3.6 Inspection and Comparison
- A3.7 Debugging
- A3.8 Patching
- A3.9 Email
- A3.10 External Systems
- A3.11 Administration
- A3.12 Plumbing Commands
1.6 開始 - 初次設定 Git
初次設定 Git
你已經在你的系統上安裝 Git,你或許會想要自訂你的 Git 環境。 你在每台電腦上只需設定一次,這些設定在 Git 更新時會被保留下來。 你也可以藉由再次執行隨時變更這些設定。
Git 附帶一個名為 git config
的工具,讓你能夠取得和設定組態參數。這些設定允許你控制 Git 各方面的外觀和行為。
這些參數被存放在下列三個地方:
-
檔案
/etc/gitconfig
:裡面包含該系統所有使用者和使用者倉儲的預設設定。 如果你傳遞--system
參數給git config
,它就會明確地從這個檔案讀取或寫入設定。 -
檔案
~/.gitconfig
、~/.config/git/config
:你的帳號專用的設定。 只要你傳遞--global
,就會明確地讓 Git 從這個檔案讀取或寫入設定 -
任何倉儲中 Git 資料夾的
config
檔案(位於.git/config
):這個倉儲的專用設定。
每個層級的設定皆覆蓋先前的設定,所以在 .git/config
的設定優先權高於在 /etc/gitconfig
裡的設定。
在 Windows 系統,Git 會在 $HOME
目錄(對大部份使用者來說是 C:\Users\$USER
)內尋找 .gitconfig
。
它也會尋找 /etc/gitconfig
,只不過它是相對於 MSys 根目錄,取決於讀者當初在 Windows 系統執行 Git 的安裝程式時安裝的目的地。
如果你使用的 Git for Windows 版本是 2.x 或之後的版本,有個系統層級的組態檔,
位於 Windows XP 系統的 C:\Documents and Settings\All Users\Application Data\Git\config
;而 Vista 及其之後的系統,則位於 C:\ProgramData\Git\config
。
要修改這個組態檔只能透過管理者權限執行 git config -f <file>
。
設定識別資料
在你安裝 Git 後首先應該做的事是設定使用者名稱及電子郵件。 這一點非常重要,因為每次 Git 的提交會使用這些資訊,而且提交後不能再被修改:
$ git config --global user.name "John Doe"
$ git config --global user.email johndoe@example.com
再次提醒,若你有傳遞 --global
參數,只需要做這工作一次,因為在此系統,不論 Git 做任何事都會採用此資訊。
若你想指定不同的名字或電子郵件給特定的專案,只需要在該專案目錄內執行此命令,並確定未加上 --global
參數。
許多圖形使用者介面的工具會在你第一次使用它們時幫你做這工作。
指定編輯器
現在你的識別資料已設定完畢,讀者可設定預設的文書編輯器,當 Git 需要你輸入訊息時會使用它。 預設情況下,Git 會使用系統預設的編輯器。
若你想指定不同的編輯器,例如:Emacs,可以執行下列指令:
$ git config --global core.editor emacs
如果你想要在 Windows 系統上使用 Notepad++ 做為編輯器,你可以執行下列步驟:
在 x86 系統上
$ git config --global core.editor "'C:/Program Files/Notepad++/notepad++.exe' -multiInst -nosession"
在 x64 系統上
$ git config --global core.editor "'C:/Program Files (x86)/Notepad++/notepad++.exe' -multiInst -nosession"
筆記
|
在 Unix 類的系統(如 Linux 和 Mac)或者 Windows 系統,Vim、Emacs 和 Notepad++ 是開發者最常用的純文字編輯器。 如果你不熟悉使用這些編輯器,你可能需要針對自己想要使用的編輯器,去找出實際的 Git 設定方法。 |
警告
|
你或許會發現,如果你沒有設定編輯器,當系統預設編輯器被執行時你很有可能會不知所措。 而在 Windows 系統下,使用系統預設編輯器編輯訊息的過程中,有可能因不熟悉而誤用,進而導致某些 Git 操作過早結束, |
檢查讀者的設定
若你想檢查設定值,可使用 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 config user.name
John Doe