学习Linux上的5个Git配置

98 阅读2分钟

这是一个简单的指南,可以快速开始使用Git及其众多配置选项中的几个。

我使用Git来管理我的代码、shell脚本和文档版本。这意味着我每启动一个新项目,第一步就是为其内容创建一个目录,并使之成为一个Git仓库。

$ mkdir newproject
$ cd newproject
$ git init

有一些常规设置是我一直想要的。虽然不多,但足以让我不希望每次都要重复配置。我喜欢利用 Git 的全局配置功能。

Git 提供了git config 命令来进行手动配置,但这是个很麻烦的工作,有一些注意事项。例如,一个常见的设置项目是你的电子邮件地址。你可以通过运行git config user.email 和你的电子邮件地址来设置它。然而,这只有在你处于现有的 Git 目录中时才会生效。

$ git config user.email alan@opensource.com
fatal: not in a git directory

另外,当这个命令在一个 Git 仓库中运行时,它只配置那个特定的仓库。对于新的仓库必须重复这一过程。我可以通过全局设置来避免这种重复。--global选项将指示 Git 将电子邮件地址写入全局配置文件;~/.gitconfig ,甚至在必要时创建它。

记住,tilde (~) 字符代表你的主目录。在我的例子中,它是/home/alan。
$ git config --global user.email alan@opensource.com
$ cat ~/.gitconfig[user]
        email = alan@opensource.com

这里的缺点是,如果你有一个大的首选设置列表,你将有很多命令需要输入。这很耗时,而且容易出现人为错误。Git提供了一个更有效、更方便的方法来直接编辑你的全局配置文件--这是我清单上的第一个项目

1.创建全局配置

如果你刚开始使用Git,你可能根本就没有这个文件。不用担心,让我们跳过搜索,开始吧。只需使用--edit选项。

$ git config --global --edit

如果没有找到文件,Git 会生成一个内容如下的文件,并在 shell 环境下的默认编辑器中打开它。

# This is Git's per-user configuration file.[user]# Please adapt and uncomment the following lines:#       name = Alan#       email = alan@hopper
~
~
~"~/.gitconfig" 5L, 155B                                     1,1           All

现在我们已经打开了编辑器,并且Git已经在幕后创建了全局配置文件,我们可以继续进行其余的设置。

2.设置默认名称

名称是文件中的第一个指令,所以让我们从这个开始。设置我的命令行是git config --global user.name "Alan Formy-Duval" 。与其运行这个命令,不如直接编辑配置文件中的name指令。

name = Alan Formy-Duval

3.设置默认的电子邮件地址

电子邮件地址是第二个指令,所以我们来更新它。默认情况下,Git 使用你的系统提供的名字和电子邮件地址。如果这不正确或者你喜欢不同的东西,你可以在配置文件中指定它。事实上,如果你没有配置它们,Git 会在你第一次提交时用友好的信息让你知道。

Committer: Alan <alan@hopper>
Your name and email address were configured automatically based
on your username and hostname. Please check that they are accurate....

设置我的命令行是git config --global user.email"alan@opensource.com"。相反,编辑配置文件中的电子邮件指令,提供你喜欢的地址。

email = alan@opensource.com

我喜欢设置的最后两个设置是默认的分支名称和默认的编辑器。这些指令需要在你还在编辑器中时添加。

4.设置默认的分支名称

目前有一个趋势,就是不再使用master这个词作为默认的分支名。事实上,在新仓库初始化时,Git会用一条友好的信息强调这一趋势。

$ git init
hint: Using 'master' as the name for the initial branch. This default branch name
hint: is subject to change. To configure the initial branch name to use in all
hint: of your new repositories, which will suppress this warning, call:
hint:
hint:   git config --global init.defaultBranch <name>

这个名为defaultBranch的指令,需要放在一个名为init的新章节中。现在人们普遍认为,许多编码者用main这个词来表示他们的默认分支。这也是我喜欢使用的。在配置中加入这一节,然后再加入该指令。

[init]
            defaultBranch = main

5.设置默认编辑器

我喜欢设置的第五项是默认编辑器。这指的是每次你提交变更到仓库时,Git 会用哪个编辑器来输入你的提交信息。每个人都有自己的偏好,无论是nanoemacsvi,还是其他什么。我对vi很满意。所以,要设置你的编辑器,请添加一个包括编辑器指令的核心部分。

[core]
            editor = vi

这是最后一条。退出编辑器。Git 会将全局配置文件保存在你的主目录中。如果你再次运行编辑指令,你会看到所有的内容。注意,配置文件是一个纯文本文件,所以也可以用文本工具,如cat 命令查看。我的就是这样出现的。

$ cat ~/.gitconfig[user]
        email = alan@opensource.com
        name = Alan Formy-Duval[core]
        editor = vi[init]
        defaultBranch = main