避免 Git 提交混淆:如何管理用户信息和配置
背景
经常使用 Git 管理公司代码和个人代码,一不小心就会用公司的 Git 用户名提交到了个人 Github 上,为了应对公司的安全审查,只能将项目暂时改为私有,后来决定研究下如何避免这种事情发生,于是有了这篇文章。
项目.git/config 文件包含哪些信息
Git 管理的项目,在项目 .git/config
文件包含了当前 Git 仓库的各种配置信息。
以下是一些常见的配置项及其说明:
-
[core] 部分:
repositoryformatversion
:仓库格式版本号。filemode
:是否启用文件模式检测。bare
:是否为裸仓库(没有工作目录)。logallrefupdates
:是否记录所有引用的更新。
-
[remote “origin”] 部分:
url
:远程仓库的 URL。fetch
:从远程仓库拉取数据的默认分支。
-
[branch “main”] 部分(或其他分支名称):
remote
:关联的远程仓库名称。merge
:合并的远程分支。
-
[user] 部分:
name
:用户的姓名。email
:用户的邮箱地址。
-
[alias] 部分:
- 自定义的 Git 命令别名。
-
[credential] 部分:
helper
:凭证管理工具,如cache
或store
。
-
[pull] 部分:
rebase
:是否在拉取时自动变基。
-
[merge] 部分:
tool
:合并工具的选择。
-
[diff] 部分:
tool
:差异工具的选择。
-
[format] 部分:
pretty
:日志格式化选项。
-
[color] 部分:
- 各种颜色配置,用于终端输出。
-
[gc] 部分:
- 垃圾回收相关的配置。
-
[http] 部分:
- HTTP 相关的配置,如代理设置。
-
[https] 部分:
- HTTPS 相关的配置。
-
[sendemail] 部分:
- 发送邮件相关的配置。
这些配置项可以根据项目的具体需求进行调整。除了直接查看和修改 config 文件配置项,也可以通过 git config
命令来查看和修改这些配置。例如:
-
查看所有配置:
git config --list
-
修改特定配置:
git config [section].[option] [value]
例如,修改远程仓库的 URL:
git config remote.origin.url "新的URL"
Git查看当前用户信息
要查看当前的 Git 用户名和邮箱,可以使用以下命令:
-
查看当前仓库配置的用户名:
git config user.name
-
查看当前仓库配置的邮箱:
git config user.email
-
查看全局配置的用户名:
git config --global user.name
-
查看全局配置的邮箱:
git config --global user.email
上述命令会在命令行中输出相应的配置信息。如果未设置,可能不会有任何输出或者显示默认值。
Git修改当前用户信息
要修改当前项目的Git用户名,可以使用以下命令:
git config user.name "新的用户名"
git config user.email "新的邮箱"
例如,如果你想将当前项目的用户名改为 CoderJia
,可以执行:
git config user.name "CoderJia"
git config user.name "coderjia@qq.com"
这条命令会更新当前项目下的 .git/config
文件中的用户名配置。
如果你希望修改全局的用户名配置(影响所有项目),可以使用 --global
参数:
git config --global user.name "新的用户名"
例如:
git config --global user.name "CoderJia"
这样设置后,所有新创建的仓库都会使用这个全局配置的用户名。