配置 git#
概述#
你的个人 git 配置保存在你的主目录中的 .gitconfig
文件中。
以下是一个 .gitconfig
文件的示例:
[user]
name = Your Name
email = you@yourdomain.example.com
[alias]
ci = commit -a
co = checkout
st = status
stat = status
br = branch
wdiff = diff --color-words
[core]
editor = vim
[merge]
summary = true
你可以直接编辑此文件,或者可以使用 git config --global
命令:
git config --global user.name "Your Name"
git config --global user.email you@yourdomain.example.com
git config --global alias.ci "commit -a"
git config --global alias.co checkout
git config --global alias.st "status -a"
git config --global alias.stat "status -a"
git config --global alias.br branch
git config --global alias.wdiff "diff --color-words"
git config --global core.editor vim
git config --global merge.summary true
要在另一台计算机上设置,您可以复制您的 ~/.gitconfig
文件,或者运行上述命令。
详细地#
user.name 和 user.email#
告诉 git 你是谁是一个好习惯,这样可以为你在代码中所做的任何更改打上标签。最简单的方法是通过命令行:
git config --global user.name "Your Name"
git config --global user.email you@yourdomain.example.com
这将把设置写入你的 git 配置文件,现在应该包含一个带有你的姓名和电子邮件的用户部分:
[user]
name = Your Name
email = you@yourdomain.example.com
当然,你需要将 Your Name
和 you@yourdomain.example.com
替换为你的实际姓名和电子邮件地址。
别名#
您可能会从一些常用命令的别名中受益。
例如,你可能希望将 git checkout
缩短为 git co
。或者你可能希望将 git diff --color-words``(它提供了格式良好的差异输出)别名为 ``git wdiff
。
以下 git config --global
命令:
git config --global alias.ci "commit -a"
git config --global alias.co checkout
git config --global alias.st "status -a"
git config --global alias.stat "status -a"
git config --global alias.br branch
git config --global alias.wdiff "diff --color-words"
将在您的 .gitconfig
文件中创建一个 alias
部分,内容如下:
[alias]
ci = commit -a
co = checkout
st = status -a
stat = status -a
br = branch
wdiff = diff --color-words
编辑器#
您可能还希望确保使用您选择的编辑器
git config --global core.editor vim
合并#
在进行合并时强制执行摘要(再次使用 ~/.gitconfig
文件):
[merge]
log = true
或者从命令行:
git config --global merge.log true
花哨的日志输出#
这是一个非常漂亮的别名,用于获取华丽的日志输出;它应该放在你的 .gitconfig
文件的 alias
部分中:
lg = log --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)[%an]%Creset' --abbrev-commit --date=relative
你可以使用别名,如下所示:
git lg
它给出了类似这样的图形/文本输出(但带有颜色!):
* 6d8e1ee - (HEAD, origin/my-fancy-feature, my-fancy-feature) NF - a fancy file (45 minutes ago) [Matthew Brett]
* d304a73 - (origin/placeholder, placeholder) Merge pull request #48 from hhuuggoo/master (2 weeks ago) [Jonathan Terhorst]
|\
| * 4aff2a8 - fixed bug 35, and added a test in test_bugfixes (2 weeks ago) [Hugo]
|/
* a7ff2e5 - Added notes on discussion/proposal made during Data Array Summit. (2 weeks ago) [Corran Webster]
* 68f6752 - Initial implementation of AxisIndexer - uses 'index_by' which needs to be changed to a call on an Axes object - this is all very sketchy right now. (2 weeks ago) [Corr
* 376adbd - Merge pull request #46 from terhorst/master (2 weeks ago) [Jonathan Terhorst]
|\
| * b605216 - updated joshu example to current api (3 weeks ago) [Jonathan Terhorst]
| * 2e991e8 - add testing for outer ufunc (3 weeks ago) [Jonathan Terhorst]
| * 7beda5a - prevent axis from throwing an exception if testing equality with non-axis object (3 weeks ago) [Jonathan Terhorst]
| * 65af65e - convert unit testing code to assertions (3 weeks ago) [Jonathan Terhorst]
| * 956fbab - Merge remote-tracking branch 'upstream/master' (3 weeks ago) [Jonathan Terhorst]
| |\
| |/
感谢 Yury V. Zaytsev 发布它。