avatar

刘刚刚的blog

采菊东篱下,悠然见南山🦥

  • 首页
  • 大模型应用
  • 常用软件/工具
  • Halo
  • 关于
Home 如何在一台电脑上使用多个git身份
文章

如何在一台电脑上使用多个git身份

Posted 2024-06-26 Updated 2024-06- 26
By Administrator
5~6 min read

这是一篇翻译的文章,以前遇到过类似的困惑,看到作者的介绍后感觉非常完美。


这里是一个关于如何管理多个 Git 身份的小技巧(例如,个人、工作、 client1、 client2)。

我把我的 Git 结构分为三级。

  1. 我的个人项目位于 ~/source 目录中,我所有的工作项目都在工作中进行,这是第一级。

  1. 第2级是客户端,例如 ~/work/client1。

  1. 第3级是项目存储库: ~/work/client1/foo-api

我的工作目录是这样组织的:

/Users/garrit/work
├── client1
│   ├── foo-api
│   ├── foo-ios
│   └── foo-android
└── client2
    ├── bar-ios
    └── bar-middleware

现在,假设 client2要求我们使用与默认工作电子邮件不同的身份提交。除此之外,您可能还有一个个人电子邮件地址为您自己的项目。你是怎么做到的?

使用 .gitconfig

Git 的全局配置文件是 ~/.gitconfig。如果您曾经设置过类似 git config user.name“ Foo Bar”这样的参数,那么设置的内容就会存储在这里。

一个非常棒的特性是:.gitconfig 文件是您可以有条件地包含其他配置文件。

我们可以通过这个特性来解决多身份的问题,这是我的 ~/.gitconfig 文件:

[user]
    name = Garrit Franke
    email = garrit@slashdev.space
​
[includeIf "gitdir:~/work/"]
    path = ~/.gitconfig-work
​
[includeIf "gitdir:~/work/client2/"]
    path = ~/.gitconfig-client2
​
[includeIf "gitdir:~/sources/"]
    path = ~/.gitconfig-personal
​
# ...

默认情况下,我的名字和电子邮件总是设置为我的个人身份。我也在这里存储了一些其他的全局设置,但是这些都与本文无关。

如果存储库位于 ~/work 目录中,则会包含 ~/.gitconfig-work的配置文件。

这是.gitconfig-work的示例:

[user]
    name = Garrit Franke
    signingkey = 12345678
    email = garrit@work.de
​
[commit]
    gpgsign = true

我希望你能明白。

原文:Organizing multiple Git identities | Garrit's Notes

License:  CC BY 4.0
Share

Further Reading

OLDER

杂记

NEWER

长布尔表达式的优化

Recently Updated

  • 文本切分-语义分割(Semantic Chunking)
  • dify 并发配置优化
  • Typing
  • 大模型返回中json_schema与json_mode的区别
  • Async

Trending Tags

Halo 运维 postgresql 设计模式 linux就该这么学 nas rag odoo python 文本切分

Contents

©2025 刘刚刚的blog. Some rights reserved.

Using the Halo theme Chirpy