最近发现了scrapyd官方的一个bug,在fix的过程中被维护者吐嘈git水平太低了,然后多次commit了一些无用的信息,导致git的树相对混乱,这对于我这个只使用git commit push add的人提了一个醒,平常都只是将git当作一个存代码的地方,从来没有正儿八经的去看这个问题(这个问题也发生关于python编码的过程中,参考:python的编码与解码)
既然是日常工作中会用到,那就真的有必要好好准备一些基础的知识准备
第一道菜:git的常用配置
一. 配置文件的存储位置
这些变量可以被存储在三个不同的位置:
1./etc/gitconfig 文件:包含了适用于系统所有用户和所有库的值。如果你传递参数选项’–system’ 给 git config,它将明确的读和写这个文件。
2.~/.gitconfig 文件 :具体到你的用户。你可以通过传递–global 选项使Git 读或写这个特定的文件。
3.位于git目录的config文件 (也就是 .git/config) :无论你当前在用的库是什么,特定指向该单一的库。每个级别重写前一个级别的值。因此,在.git/config中的值覆盖了在/etc/gitconfig中的同一个值。
二.配置你的用户名和密码
当你安装Git后首先要做的事情是设置你的用户名称和e-mail地址。这是非常重要的,因为每次Git提交都会使用该信息。它被永远的嵌入到了你的提交中:
1 2 3 |
git config --global user.name "bruce" git config --global user.email bruce@163.com |
重申一遍,你只需要做一次这个设置。如果你传递了 –global 选项,因为Git将总是会使用该信息来处理你在系统中所做的一切操作。如果你希望在一个特定的项目中使用不同的名称或e-mail地址,你可以在该项目中运行该命令而不要–global选项。
三.配置你的编缉器
你的标识已经设置,你可以配置你的缺省文本编辑器,Git在需要你输入一些消息时会使用该文本编辑器。缺省情况下,Git使用你的系统的缺省编辑器,这通常可能是vi 或者 vim。如果你想使用一个不同的文本编辑器,例如Emacs,你可以做如下操作:
1 |
git config --global core.editor emacs |
四.配置你的比较工具
另外一个你可能需要配置的有用的选项是缺省的比较工具它用来解决合并时的冲突。例如,你想使用vimdiff:
1 |
git config --global merge.tool vimdiff |
Git可以接受kdiff3, tkdiff, meld, xxdiff, emerge, vimdiff, gvimdiff, ecmerge, 和 opendiff作为有效的合并工具。你也可以设置一个客户化的工具;
五.检查你的配置
如果你想检查你的设置,你可以使用 git config –list 命令来列出Git可以在该处找到的所有的设置:
1 2 3 4 5 6 7 8 9 10 11 12 13 |
git config --list user.name=bruce user.email=bruce@163.com color.status=auto color.branch=auto color.interactive=auto color.diff=auto |
你可能会看到一个关键字出现多次,这是因为Git从不同的文件中(例如:/etc/gitconfig以及~/.gitconfig)读取相同的关键字。 在这种情况下,对每个唯一的关键字,Git使用最后的那个值。
你也可以查看Git认为的一个特定的关键字目前的值,使用如下命令 git config {key}:
1 2 3 |
$ git config user.name bruce |
六.获取帮助
如果当你在使用Git时需要帮助,有三种方法可以获得任何git命令的手册页(manpage)帮助信息:
1 2 3 4 5 |
$ git help <verb> $ git <verb> --help $ man git-<verb> |
例如,你可以运行如下命令获取对config命令的手册页帮助: