我知道可以设置覆盖用户级配置的每个仓库配置(即/path/to/my/repo/.gitconfigoverrides ~/.gitconfig)。是否可以设置git configs来覆盖给定文件夹的所有子文件夹的用户级设置?即我有
|--topLevelFolder1
|--\
| ---.gitconfig_override
|--\
| ---childFolder1
| \---[...]
|--\
| ---childFolder2
| \---[...]
我希望将中定义的设置.gitconfig_override应用于childFolder1和中childFolder2。
我这样做的动机如下:我有一台工作用的笔记本电脑,在业余时间还用于个人项目。我所有的工作代码都嵌套在一个文件夹中。当我推动工作git repos时,我需要使用工作角色-工作登录名(而不是姓名)和工作电子邮件。当我推送到自己的个人(github)存储库时,我想使用我的真实姓名和个人电子邮件。
我想到的其他可能的解决方案(和问题):
- 为“工作”和“娱乐”创建单独的用户,适当地设置他们的用户级别设置,并在切换上下文时以适当的用户身份登录(麻烦,再加上我很容易忘记切换)
- 创建一个脚本,在“ workFolder”中搜索git仓库,并添加/更新其.gitconfig文件以保存适当的详细信息(如果我创建了一个仓库,而在推送之前忘记运行该脚本,则我将以错误的身份推送)
- 对git进行“ hack”操作,以便每次创建一个repo时,它都会检查文件路径,并在适当的情况下更新.gitconfig文件(复杂,混乱且几乎肯定是错误的方法-而且,我不会首先提示如何去做!)
--global用户设置应包含您更多使用的身份。每个应使用其他身份的存储库都应具有user.name并进行相应user.email设置。