gpt4 book ai didi

具有目录范围的 Git 配置,包含多个存储库

转载 作者:行者123 更新时间:2023-12-02 13:52:58 28 4
gpt4 key购买 nike

情况如下:

  • 我有多个,我在其中编写代码,例如专业和空闲时间。这些由我计算机上的不同目录表示。
  • 每个域都包含多个 Git 存储库,位于其中一个域目录内的分层目录结构中。

对于每个域,我想使用不同的电子邮件地址作为作者/提交者信息的一部分。也就是说,我希望我的私有(private)地址列在我的业余项目中,我的公司地址列在我的专业项目中。

git config 知道 3 个范围:存储库、全局和系统范围。 我基本上需要的是存储库和全局之间的第四个作用域,代表一组存储库(或者只是文件系统中的一个目录)。

似乎git config不允许这样做。当然,我可以为每个存储库设置电子邮件地址,但我想在每次设置或克隆存储库时避免此手动步骤。一种选择是编写一个包装 git init/clone 和 git config 的脚本,还有其他想法吗?

最佳答案

基于https://stackoverflow.com/a/44036640/2377961我想我找到了一种可行的方法。

首先,为“自定义范围”(例如专业范围、空闲时间等)创建不同的配置文件,并为每个范围添加所需的用户配置

# ~/all-projects.gitconfig
[user]
name = TheOperator
# ~/professional.gitconfig
[user]
email = yourname@yourwork.com
# ~/freetime.gitconfig
[user]
email = yourname@private-email.com

而不是在标准 gitconfig 中添加这样的行:

# ~/.gitconfig
[include]
path = all-projects.gitconfig
[includeIf "gitdir/i:c:/work/"]
path = professional.gitconfig
[includeIf "gitdir/i:c:/freetime/"]
path = freetime.gitconfig

gitdir/i 之后的目录应与项目组的父目录匹配。在我的示例中,您应该存储空闲时间域的 git-repos,例如c:/freetime/my-freetime.domain/.git

关于具有目录范围的 Git 配置,包含多个存储库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40272879/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com