调整你的Git配置以适应多个用户ID的需要

可以使用相同的机器用于工作和个人的 Git 提交,而无需手动重置你的配置。 2020-11-12 06:20:25 GitGit配置GitHub 苹果macOS史诗级进化:全新UI设计 可直接运行iOS App 今天凌晨,在今年第三场苹果发布会上,苹果宣布,macOS Big Sur正式版将于北京时间11月13日推出,据苹果官方称,macOS Big Sur带来了全新UI,将发挥自研芯片M1的实力,并可在Mac上直接运行iOS App。

可以使用相同的机器用于工作和个人的 Git 提交,而无需手动重置你的配置。

[[351742]]

可以使用相同的机器用于工作和个人的 Git 提交,而无需手动重置你的配置。

Git 的git config命令可以让你为 Git 设置仓库或全局选项。它有很多选项,其中的一个选项includeIf在你使用在 Git 时有双重角色时非常方便,比如说,你既是全职的开发者,又在业余时间为开源项目做贡献。在这种情况下,大多数人都不想为两个角色使用一个共同的配置,或者,至少,他们肯定希望保持配置的某些部分是不同的,尤其是当他们在两个角色中使用同一台计算机时。

我的情况就是这样,所以我在 Git 配置中保留了两组不同的邮件 ID。这样一来,在我工作场所的项目仓库中提交的内容就会使用我办公室的邮件 ID,而在我个人 GitHub 帐户中提交的内容则使用我个人的邮件 ID。

以下是我的全局配置(维护在$HOME/.gitconfig)中的一个片段,我将在下文中介绍。

  1. [includeIf "gitdir:~/priv_scm/"]
  2. path = ~/priv_scm/.gitconfig
  3. [includeIf "gitdir:~/work_scm/"]
  4. path = ~/work_scm/.gitconfig

什么是 includeIf?

includeIf.condition.path变量,是include配置指令的一部分,允许你有条件地设置自定义配置。同时,自定义配置的路径也可以作为指令的一部分来设置。

这个指令支持三个关键字:gitdirgitdir/Ionbranch。我将简单解释一下gitdir,我在上面的代码片段中使用了它。你可以在文档中了解其他两个关键词。

includeIf指令中使用gitdir关键字会对模式进行条件检查。根据规则,如果当前工作目录与gitdir中指定的目录模式相匹配,那么它就会从给定的路径中选取配置。我将在配置片段上应用这个规则来展示它是如何被应用的。

在配置片段中,你可以看到一个简单的模式,~/,它与gitdir关键字一起使用。这个模式会被存储在$HOME环境变量中的值所替代。

如何使用它

如果你使用同一个系统在 GitHub 或 GitLab 上的开源项目上工作,并在工作中提交到 Git 仓库,你可以有两个顶级目录,比如$HOME/priv_scm$HOME/work_scm。在这两个目录中,你可以有两个单独的.gitconfig文件,其中包含与你的user.nameuser.email相关的设置。然而,它们也可以包含存储在$HOME的全局.gitconfig中,它可以保存两个环境通用的所有自定义项。

这里是一个例子$HOME/priv_scm/.gitconfig的片段:

  1. $ cat $HOME/priv_scm/.gitconfig
  2. [user]
  3. name = Ramanathan Muthiah
  4. email = <personal-mailid-goes-here>

有了这个配置,你就可以切换目录,并开始在开源项目上工作,而无需手动重置一些与 Git 相关的配置。这些更改会在主.gitconfig中借助includeIf条件指令自动处理。

©本文为清一色官方代发,观点仅代表作者本人,与清一色无关。清一色对文中陈述、观点判断保持中立,不对所包含内容的准确性、可靠性或完整性提供任何明示或暗示的保证。本文不作为投资理财建议,请读者仅作参考,并请自行承担全部责任。文中部分文字/图片/视频/音频等来源于网络,如侵犯到著作权人的权利,请与我们联系(微信/QQ:1074760229)。转载请注明出处:清一色财经

(0)
打赏 微信扫码打赏 微信扫码打赏 支付宝扫码打赏 支付宝扫码打赏
清一色的头像清一色管理团队
上一篇 2023年5月6日 11:27
下一篇 2023年5月6日 11:27

相关推荐

发表评论

登录后才能评论

联系我们

在线咨询:1643011589-QQbutton

手机:13798586780

QQ/微信:1074760229

QQ群:551893940

工作时间:工作日9:00-18:00,节假日休息

关注微信