经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » 软件/图像 » Git » 查看文章
个性化定义多个 Git 托管平台配置
来源:cnblogs  作者:曾左  时间:2024/4/3 9:21:09  对本文有异议

一、背景说明

本人使用了多个 Git 托管平台,包括 Github、Gitlab 和 Gitee。为了避免提交信息(主要是用户名和邮箱地址)错乱,我希望在向不同的托管平台提交内容时,能够自动设置相应的用户名和邮箱地址。

二、解决方案

1. 常规做法

为每个 repo 单独设置用户名和邮箱地址。

操作步骤如下:在 repo 的根目录执行 git config user.name yourname && git config user.email yourname@email.com.cn

但这种方法的缺点是操作繁琐,且极易遗忘。

2. 更好做法

使用 Git includeIf 给多个托管平台定义不同的配置。

Git includeIf 是 Git 2.13 版本引入的一个非常有用的特性,它允许你根据当前工作目录的位置来包含不同的 Git 配置。这个特性特别适合在不同的工作环境中使用不同的 Git 配置。例如,你可能在工作时使用你的工作电子邮件地址进行提交,而在家里则使用你的个人电子邮件地址。通过使用 git includeIf,你可以自动地根据当前的工作目录来切换这些配置。

三、includeIf 方案

1. 配置

(1)给每个托管平台指定保存的目录,如 Github、Gitlab 和 Gitee 平台的代码,我分别保存在D:\code\person\github\D:\code\work\gitlab\D:\code\person\gitee\ 目录下。

(2)在 .gitconfig 配置文件中通过 includeIf 指定各托管平台指定目录对应的个性化配置。配置如下:

.gitconfig,该文件默认保存在用户根目录下,配置如下:

  1. [includeIf "gitdir:D:/code/work/gitlab/"]
  2. path = ~/.gitconfig-gitlab
  3. [includeIf "gitdir:D:/code/person/gitee/"]
  4. path = ~/.gitconfig-gitee
  5. [includeIf "gitdir:D:/code/person/github/"]
  6. path = ~/.gitconfig-github

~/.gitconfig-gitlab,该文件与 .gitconfig 同目录,配置如下:

  1. [user]
  2. name = gitlab-name
  3. email = gitlab-name@mail.com.cn

~/.gitconfig-gitee,该文件与 .gitconfig 同目录,配置如下:

  1. [user]
  2. name = gitee-name
  3. email = gitee-name@mail.com.cn

~/.gitconfig-github,该文件与 .gitconfig 同目录,配置如下:

  1. [user]
  2. name = github-name
  3. email = github-name@mail.com.cn

说明: Windows 系统中,.gitconfig 配置中需将 gitdir 路径分隔符由反斜杠\ 转为 正斜杆 /,如:D:\code\person\github\ 转为 D:/code/work/gitlab/

2. 验证

在各托管平台指定目录下任意 repo 执行以下脚本验证:

  1. git config user.name
  2. git config user.email

四、补充说明

以此类推,善用 includeIf, 不仅能自定义多个托管平台的提交信息,也能进行其他类似的个性化设置。

九、参考资料

Organizing multiple Git identities

docs git-config

原文链接:https://www.cnblogs.com/zengzuo613/p/18111440

 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号