如何为每个Git分支设置不同的user.name和user.email?

如何为每个Git分支设置不同的user.name和user.email?,git,Git,假设我正在使用一个共享计算机帐户,并在一个具有多个分支的存储库中工作,每个分支都是由同一计算机帐户上的不同用户开发的。如果每次不同的用户使用计算机对存储库进行提交时,不必切换user.name和user.email,这会很有帮助 如何为每个分支设置不同的user.name和user.email 通常的方法是: 不依赖于回购协议的本地配置 仅依赖全局配置($HOME/.gitconfig中的配置) 这样,每个用户在共享回购中进行任何提交时,自然都会有自己的user.name/user.emai

假设我正在使用一个共享计算机帐户,并在一个具有多个分支的存储库中工作,每个分支都是由同一计算机帐户上的不同用户开发的。如果每次不同的用户使用计算机对存储库进行提交时,不必切换user.name和user.email,这会很有帮助


如何为每个分支设置不同的user.name和user.email

通常的方法是:

  • 不依赖于回购协议的本地配置
  • 仅依赖全局配置($HOME/.gitconfig中的配置)
这样,每个用户在共享回购中进行任何提交时,自然都会有自己的user.name/user.email

如果您真的只需要为每个用户更新一个分支,那么可以添加一个预提交挂钩,以确保即将提交正确的分支

如果您使用的是相同的计算机帐户:

a/不要;)共享帐户不是最佳做法
b/设置一个别名(每个用户一个),用于设置该配置

一种可能有效的方法是:

  • 使用(而不是多次克隆您的所有回购协议)
  • 更改提示以设置正确的
    user.name
    (环境变量
    GIT\u AUTHOR\u name
    )和user.email(
    GIT\u AUTHOR\u email
    ):请参阅“”

    • 为你们每个人制作一个克隆。运行
      git config--local user.name xxx
      git config--local user.emailxxx@yyy.zz
      在每个克隆中<代码>--local可以省略,因为它是默认值


      但是,为什么不在同一台计算机上为你们每个人创建一个帐户?

      您是登录到这台计算机上还是共享这台计算机帐户?@LasseV.Karlsen共享同一个计算机帐户。我怀疑您的问题的答案可能是编程性质的?脚本可以代表合成用户运行git命令,因为该用户可能不存在于本机操作系统上-仅在“脚本”中。