Skip to content

Repository files navigation

GCM

git 用户配置管理工具。

version NPM Last Update NPM Downloads GitHub commit activity

Repo Beats

目录

简介

GCM, 全称 Git Config Manager,用于在不同工作区(目录) 灵活切换不同的 Git 配置,降低心智负担。

开发这个工具的初衷,是因为我的设备既用于公司项目开发,平时也会写一些自己的项目,我需要频繁不断地在不同 Git 账号之间切换以确保我使用正确的用户来进行提交,一次次的 git config user.name xxx,git config user.name xxx@xxx.com 耗费了我大量的时间,每次手动输入也难免会产生差错,造成一些未知用户的提交。于是我下定决心要开发这个工具,它可以帮你实现如下需求:

  • 全局维护多个 Git 用户配置,在需要时可以方便地切换
  • 快速查询当前目录应用的 Git 用户配置
  • 扫描某个目录下存在多少份不同的 Git 用户配置,然后快速纠正它

查看 功能 部分来了解它所有的 API,如果你有什么意见或建议,也欢迎通过 issue 来进行交流。

安装

普通安装

npm install @lexmin0412/gcm -g

使用 nvm / fnm / volta 等 Node 版本管理工具

如果你使用 nvm、fnm、volta 等工具管理 Node 版本,npm install -g 安装的包只对当前 Node 版本生效,切换版本后命令会找不到。

推荐方案:安装到固定路径

# 1. 安装到 ~/.local 目录(不随 Node 版本变化)
npm install -g --prefix ~/.local @lexmin0412/gcm

# 2. 在 ~/.zshrc 或 ~/.bashrc 中添加 PATH
echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.zshrc

# 3. 重新加载配置
source ~/.zshrc

这样无论切换到哪个 Node 版本,gcm 命令都可用。

为什么这样做?

npm install -g 会把包装到当前 Node 版本的全局目录下(如 ~/.fnm/node-versions/v20.0.0/installation/lib/node_modules)。 使用 --prefix 可以指定一个固定安装路径,让 gcm 独立于任何 Node 版本。

功能

说明:

如果本机已有 gcm 命令,可以使用 gitconf 命令来替换,如 gcm list 可以改为 gitconf list,其他命令同理。

gcm list

简写:gcm ls。

查看所有用户配置。

gcm add

添加用户配置,需要输入别名、用户、邮箱信息。

gcm use <alias>

通过别名切换用户配置。

gcm remove

简写:gcm rm。

通过别名删除用户配置。

gcm current

注:v1.1.0 以上版本支持。

简写:gcm cur。

显示当前用户正在使用的配置。

gcm scan

注:v1.2.0 以上版本支持。

简写:gcm sc。

扫描指定目录(默认当前用户目录)下的所有用户配置。

gcm doctor

注:v1.3.0 以上版本支持。

诊断当前目录下使用的 git 配置是否正确。

gcm upgrade

注:v1.4.0 以上版本支持。

更新全局 gcm 到 latest 版本。

gcm sync

注:v1.8.0 以上版本支持。

同步 GCM 配置到远程仓库。

gcm get-config

注:v1.8.0 以上版本支持。

获取 GCM 的同步配置。

gcm set-config

注:v1.8.0 以上版本支持。

修改 GCM 的同步配置。

更新日志

点我 前往。

Star History

Star History Chart

About

Git Config Manager, Git 用户配置管理工具,用于在不同工作区(目录) 灵活切换不同的 Git 配置,降低心智负担。

Topics

Resources

Code of conduct

Contributing

Stars

22 stars

Watchers

2 watching

Forks

Releases

Packages

Used by

Contributors

Languages