This commit is contained in:
Xingyu Wang 2020-11-12 01:38:36 +08:00
parent f1c9401da9
commit 8eea66b9e4

View File

@ -1,6 +1,6 @@
[#]: collector: (lujun9972)
[#]: translator: (geekpi)
[#]: reviewer: ( )
[#]: reviewer: (wxy)
[#]: publisher: ( )
[#]: url: ( )
[#]: subject: (Tweak your Git config for multiple user IDs)
@ -9,16 +9,17 @@
调整你的 Git 配置以适应多个用户 ID 的需要
======
使用相同的机器用于工作和个人的 Git 提交,而无需手动重置你的配置。
![Chat via email][1]
Git 的 [git config][2] 命令可以让你为 Git 设置仓库或全局选项。它有很多选项,其中的一个选项 `includeIf` 在你使用在 Git 时有双重角色时非常方便,比如说,你既是全职的开发者,又在业余时间为开源项目做贡献。在这种情况下,大多数人都不想为两个角色使用一个共同的配置,或者,至少,他们宁愿保持配置的某些部分是不同的,尤其是当他们在两个角色中使用同一台计算机时。
> 可以使用相同的机器用于工作和个人的 Git 提交,而无需手动重置你的配置。
![](https://img.linux.net.cn/data/attachment/album/202011/12/013805t4u4nu57rc6ur7nt.jpg)
Git 的 [git config][2] 命令可以让你为 Git 设置仓库或全局选项。它有很多选项,其中的一个选项 `includeIf` 在你使用在 Git 时有双重角色时非常方便,比如说,你既是全职的开发者,又在业余时间为开源项目做贡献。在这种情况下,大多数人都不想为两个角色使用一个共同的配置,或者,至少,他们肯定希望保持配置的某些部分是不同的,尤其是当他们在两个角色中使用同一台计算机时。
我的情况就是这样,所以我在 Git 配置中保留了两组不同的邮件 ID。这样一来在我工作场所的项目仓库中提交的内容就会使用我办公室的邮件 ID而在我个人 GitHub 帐户中提交的内容则使用我个人的邮件 ID。
以下是我的全局配置(维护在 `$HOME/.gitconfig`)中的一个片段,我将在下文中介绍。
```
[includeIf "gitdir:~/priv_scm/"]
        path = ~/priv_scm/.gitconfig
@ -28,7 +29,7 @@ Git 的 [git config][2] 命令可以让你为 Git 设置仓库或全局选项。
### 什么是 includeIf
`includeIf.condition.path` 变量,是 `include` 配置指令的一部分,允许你有条件地设置自定义 config。同时,自定义配置的路径也可以作为指令的一部分来设置。
`includeIf.condition.path` 变量,是 `include` 配置指令的一部分,允许你有条件地设置自定义配置。同时,自定义配置的路径也可以作为指令的一部分来设置。
这个指令支持三个关键字:`gitdir`、`gitdir/I` 和 `onbranch`。我将简单解释一下 `gitdir`,我在上面的代码片段中使用了它。你可以在[文档][3]中了解其他两个关键词。
@ -42,7 +43,6 @@ Git 的 [git config][2] 命令可以让你为 Git 设置仓库或全局选项。
这里是一个例子 `$HOME/priv_scm/.gitconfig` 的片段:
```
$ cat $HOME/priv_scm/.gitconfig
[user]
@ -63,7 +63,7 @@ via: https://opensource.com/article/20/10/git-config
作者:[Ramanathan M][a]
选题:[lujun9972][b]
译者:[geekpi](https://github.com/geekpi)
校对:[校对者ID](https://github.com/校对者ID)
校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出