如何为目录中的每个回购设置git用户名和电子邮件?
我有一台个人电脑,我也用来工作。对于工作,我必须将文件上传到大量github repo,为了使用我的工作github帐户进行上传,我需要在每个repo中传递如何为目录中的每个回购设置git用户名和电子邮件?,git,github,Git,Github,我有一台个人电脑,我也用来工作。对于工作,我必须将文件上传到大量github repo,为了使用我的工作github帐户进行上传,我需要在每个repo中传递git config user.name[USERNAME]和git config user.email[email]。我所有这些回购都位于一个单亲目录中(这不是回购)。有没有办法为父目录中的每个github回购设置git用户名和git电子邮件?您可以将父目录设置为“超级项目”以及此超级项目的所有存储库子模块。请看 配置后,您可以按如下方式循
git config user.name[USERNAME]
和git config user.email[email]
。我所有这些回购都位于一个单亲目录中(这不是回购)。有没有办法为父目录中的每个github回购设置git用户名和git电子邮件?您可以将父目录设置为“超级项目”以及此超级项目的所有存储库子模块。请看
配置后,您可以按如下方式循环子模块:
git submodule foreach git config user.name "User Name"
git submodule foreach git config user.email "user@abc.com"
如果希望每个项目都有相同的名称,请全局设置:
$ git config --global --add user.name "Your name"
$ git config --global --add user.email "your_em@il.com"
如果要为不同的项目设置不同的名称和电子邮件,请执行以下操作
查找所有.git/config
文件并将其存储在文件中:
$ for gitdirr in `find . -type d -name ".git"` ; do echo $gitdirr/config ; done > gitconfigs
查找包含[user]
部分的所有git配置,它们可能已设置了名称
和电子邮件
,因此您必须将它们更改为您想要的:
$ grep -li "\[user\]" `cat gitconfigs`
打开文件,检查名称是否为您想要的名称,如果不是,请更改
查找不包含用户节的文件:
$ grep -Li "\[user\]" `cat gitconfigs`
打开每个文件并添加带有项目特定值的名称
和电子邮件
键的用户节:
[user]
name = Your name for the project
email = Your em@il for the project
我想你最好的选择是创建一个bash脚本,它可以在子目录上迭代,并为每个repo设置名称和电子邮件。为什么不全局设置它呢?