标签搜索

目 录CONTENT

文章目录

『聚合』 个性化定义多个 Git 托管平台配置

沙漠渔
2024-04-03 04:34:16 / 0 评论 / 0 点赞 / 99 阅读 / 1,678 字 / 正在检测是否收录...
温馨提示:
本文最后更新于 2024-04-03,若内容或图片失效,请留言反馈。部分素材来自网络,若不小心影响到您的利益,请联系我们删除。

一、背景说明

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

二、解决方案

1. 常规做法

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

操作步骤如下:在 repo 的根目录执行 git config user.name yourname && git config user.email [email protected]

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

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,该文件默认保存在用户根目录下,配置如下:

[includeIf "gitdir:D:/code/work/gitlab/"]
    path = ~/.gitconfig-gitlab

[includeIf "gitdir:D:/code/person/gitee/"]
    path = ~/.gitconfig-gitee

[includeIf "gitdir:D:/code/person/github/"]
    path = ~/.gitconfig-github

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

[user]
    name = gitlab-name
    email = [email protected]

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

[user]
    name = gitee-name
    email = [email protected]

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

[user]
    name = github-name
    email = [email protected]

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

2. 验证

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

git config user.name

git config user.email

九、参考资料

Organizing multiple Git identities

docs git-config


⚠ 文章源地址: https://www.cnblogs.com/zengzuo613/p/18111440.html 转载请注明出处
0
广告 广告

评论区