如何在命令行中指定git电子邮件地址?

Noe*_*Yap 5 git

我正在使用两个不同的 Git 存储库(即 github 和 stash),并且对于每个存储库我想使用不同的电子邮件地址。我知道我可以使用git config,但我不想每次创建新工作区时都必须记住执行此操作。因此,我想创建一个在命令行上设置电子邮件地址的别名。这可以做到吗?

我想我可以创建一个脚本(而不是别名)git config,但是有没有更简单的方法来做到这一点?

Emi*_*Sit 4

您可以使用以下(bash 风格)函数:

workgit () {
   GIT_COMMITTER_NAME="Work Name" GIT_COMMITTER_EMAIL="work@work.com" GIT_AUTHOR_NAME="Work Name" GIT_AUTHOR_EMAIL="work@work.com" git "$@"
}

homegit () {
   GIT_COMMITTER_NAME="Home Name" GIT_COMMITTER_EMAIL="home@home.com" GIT_AUTHOR_NAME="Home Name" GIT_AUTHOR_EMAIL="home@home.com" git "$@"
}
Run Code Online (Sandbox Code Playgroud)

然后您只需致电workgithomegit代替即可git强制提供给定的用户名/电子邮件。

这不是一个理想的解决方案(因为有时您只想成为提交者而不是作者,例如当您进行 rebase 或 git am'ing 补丁时),但只要您意识到这一点,您就可以解决它。