如何为目录中的每个仓库设置git用户名和电子邮件?

时间:2017-07-29 18:50:18

标签: git github

我有一台个人电脑,我也用它来工作。为了工作,我必须将文件上传到大量的github repos,为了使用我的工作github帐户,我需要在每个仓库中传递btn.setStyleSheet("QPushButton {font: 30pt Comic Sans MS}"} btn.setStyleSheet("background-color: red") git config user.name [USERNAME]。我将所有这些repos都放在一个父目录(不是repo)中。有没有办法让我为这个父目录中的每个github仓库设置git用户名和git电子邮件?

2 个答案:

答案 0 :(得分:0)

您可以将您的父目录设为"超级项目"以及该超级项目的所有存储库子模块。请参阅Git Submodules

配置完成后,您可以循环遍历子模块,如下所示:

git submodule foreach git config user.name [USERNAME]
git submodule foreach git config user.name [EMAIL]

答案 1 :(得分:0)

如果您想为每个项目使用相同的名称,请将其全局设置:

$ 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配置,可能会设置nameemail,因此您必须将其更改为您想要的部分:

$ grep -li "\[user\]" `cat gitconfigs` 

打开文件并检查名称是否是您想要的名称,否则进行更改。

查找不包含用户部分的文件:

$ grep -Li "\[user\]" `cat gitconfigs`

打开每个文件,添加带有nameemail键的用户部分,其中包含特定于项目的值:

[user]
    name = Your name for the project
    email = Your em@il for the project