Git工程实践(二)多账号配置

简介:

相信大家在使用git的时候会面临这样的场景,同时拥有隶属于多个git服务的账户比如github,gitlab的代码工程,如何保证在不同的工程使用不同的账户呢?下面介绍两种常见方案。

方案一:针对项目配置git

git的配置变量可以放在三个地方:

  • /etc/gitconfig 系统配置,对所有用户都生效。
  • ~/.gitconfig 用户配置,仅对当前用户生效。
  • xxx/.git/config 项目配置,仅对当前项目生效。

如果同时配置则逐级覆盖,为了解决上述方案,我们可以针对不同的项目配置不同的用户,修改代码工程目录下的.git/confg文件加入用户信息配置即可,如下:

[user]
name = 竹涧
email = zeqiang.yzq@alibaba-inc.com

该方案有明显缺点:

  1. 工程较多时配置繁琐。
  2. 代码文件删除后需要重新配置。

下面我们来介绍一种一劳永逸的方案~

方案二:按照工作目录配置git

大概是17年中,git发布的新版本开始支持不同文件目录使用不同的配置文件,且共享用户配置,下面是我个人的gitconfig文件:

[core]
    excludesfile = /Users/yzq/.gitignore
    autocrlf = input
    editor = /usr/bin/vim
[push]
    default = simple
[includeIf "gitdir:~/Code/github/"]
    path = .gitconfig-github
[includeIf "gitdir:~/Code/work"]
    path = .gitconfig-work
[commit]
    template = ~/.gitmessage
[user]
    name = 竹涧
    email = zeqiang.yzq@alibaba-inc.com

该配置对我个人账户下所有的git工程生效,效果如下:

  • ~/Code/github/ 目录下的所有git工程使用 .gitconfig-github配置。
  • ~/Code/work/ 目录下的所有git工程使用 .gitconfig-work配置

接下来让我们看一下这两个配置的内容:

.gitconfig-work

[user]
    name = 竹涧
    email = zeqiang.yzq@alibaba-inc.com

.gitconfig-github

[user]
    name = yzq
    email = yangzeqiang@gmail.com

仅仅配置了账户信息,通过一次性配置即可保证不同目录使用不同的git配置!(上述仅仅配置实现了不同文件目录不同的git账户,其它配置项目同样适用比如commit template,editor等。)

目录
相关文章
|
7天前
|
Ubuntu Shell 开发工具
ubuntu/debian shell 脚本自动配置 gitea git 仓库
这是一个自动配置 Gitea Git 仓库的 Shell 脚本,支持 Ubuntu 20+ 和 Debian 12+ 系统。脚本会创建必要的目录、下载并安装 Gitea,创建 Gitea 用户和服务,确保 Gitea 在系统启动时自动运行。用户可以选择从官方或小绿叶技术博客下载安装包。
21 2
|
12天前
|
算法 网络安全 开发工具
[Git]关联远程库的两种方法及配置
本文介绍了 git 的四种连接方式:ssh 连接、HTTPS 连接、SVN 连接和 SVN + ssh 连接,重点讲解了 HTTPS 和 ssh 连接方式的配置及注意事项。文章详细解释了 HTTPS 连接的身份验证过程、常见问题及解决方案,以及 ssh 连接的公钥和私钥的创建、配置方法。此外,还介绍了如何在同一台电脑上连接多个 gitee 账号的方法。
45 0
[Git]关联远程库的两种方法及配置
|
1月前
|
开发工具 git
git显示开发日志+WinSW——将.exe文件注册为服务的一个工具+图床PicGo+kubeconfig 多个集群配置 如何切换
git显示开发日志+WinSW——将.exe文件注册为服务的一个工具+图床PicGo+kubeconfig 多个集群配置 如何切换
37 1
|
2月前
|
网络协议 开发工具 网络虚拟化
SourceTree git 配置代理
SourceTree git 配置代理
65 1
|
1月前
|
编译器 网络安全 开发工具
git学习五:切换本地仓库出现的问题。修改git配置初始化。error:src refspec master does not match any。错误总结,送上几个案例
这篇文章是关于Git使用中遇到的一些问题及其解决方案的总结,包括切换本地仓库时的问题、修改Git初始化配置、以及解决"error: src refspec master does not match any"错误等。
51 0
|
2月前
|
存储 Shell 开发工具
内核维护者手册 - 配置Git【ChatGPT】
内核维护者手册 - 配置Git【ChatGPT】
|
3月前
|
JavaScript IDE 前端开发
前端开发工具配置 nodejs & git & IDE
前端开发工具配置 nodejs & git & IDE
|
开发工具 git
git 配置本地代理
git 配置本地代理
417 0
|
Web App开发 开发工具 git
|
12天前
|
缓存 Java Shell
[Git]入门及其常用命令
本文介绍了 Git 的基本概念和常用命令,包括配置、分支管理、日志查看、版本回退等。特别讲解了如何部分拉取代码、暂存代码、删除日志等特殊需求的操作。通过实例和图解,帮助读者更好地理解和使用 Git。文章强调了 Git 的细节和注意事项,适合初学者和有一定基础的开发者参考。
33 1
[Git]入门及其常用命令