【git】配置多用户

本贴最后更新于 1161 天前,其中的信息可能已经时移世改

1.按工程配置多用户

  • a. /etc/gitconfig 系统配置,对所有用户生效

  • b. ~/.gitconfig 用户配置,仅对当前用户生效

    git config --global user.name "yourname"
    git config --global user.email "yourEmail"
    
  • c. projectRootPath/.git/config 项目根目录配置,仅对当前项目生效,进入工程根目录执行

    git config user.name "yourname"
    git config user.email "yourEmail"
    

    三层优先级 c-b-a,项目少还行,多的话很头疼,所以就有了下面这个方法

2.按目录配置多用户

git 2.13.0 版本包含了一个新功能 includeIf 配置,可以吧匹配的路径使用对应的配置用户名和邮箱

~/ 下放三个配置文件

  • .gitconfig 全局通用的配置文件
  • .gitconfig-github github 上的配置文件
  • .gitconfig-gitlab gitlab 上的配置文件

.gitconfig 里的内容是,主要通过 includeIf 配置匹配不同的目录映射到不同的配置文件上

[core]
        editor = vim
        quotepath = false
[includeIf "gitdir:/data/workspace/gitlab/"]
    path = .gitconfig-gitlab
[includeIf "gitdir:/data/workspace/github/"]
    path = .gitconfig-github

github 配置文件:~/.gitconfig-github

[user]
        email = yourEmail-github
        name = yourname-github

gitlab 配置文件:~/.gitconfig-gitlab

[user]
        email = yourEmail-gitlab
        name = yourname-gitlab

注意:

  • 文件~/.gitconfig 里面的 includeIf 后面的 path 最后需要/结尾

  • 文件~/.gitconfig 里面原有的 user 部分需要删除

  • 个人工程目录和公司工程目录需要要求是非包含关系,就是这两个工程目录配置路径不可以是父子关系。

3.参考

  • Git

    Git 是 Linux Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。

    207 引用 • 358 回帖
  • GitHub

    GitHub 于 2008 年上线,目前,除了 Git 代码仓库托管及基本的 Web 管理界面以外,还提供了订阅、讨论组、文本渲染、在线文件编辑器、协作图谱(报表)、代码片段分享(Gist)等功能。正因为这些功能所提供的便利,又经过长期的积累,GitHub 的用户活跃度很高,在开源世界里享有深远的声望,并形成了社交化编程文化(Social Coding)。

    207 引用 • 2031 回帖
  • GitLab

    GitLab 是利用 Ruby 一个开源的版本管理系统,实现一个自托管的 Git 项目仓库,可通过 Web 界面操作公开或私有项目。

    46 引用 • 72 回帖

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...