当前位置: 首页 > article >正文

避免 Git 提交混淆:如何管理用户信息和配置

背景

经常使用 Git 管理公司代码和个人代码,一不小心就会用公司的 Git 用户名提交到了个人 Github 上,为了应对公司的安全审查,只能将项目暂时改为私有,后来决定研究下如何避免这种事情发生,于是有了这篇文章。

项目.git/config 文件包含哪些信息

Git 管理的项目,在项目 .git/config 文件包含了当前 Git 仓库的各种配置信息。

以下是一些常见的配置项及其说明:

  1. [core] 部分

    • repositoryformatversion:仓库格式版本号。
    • filemode:是否启用文件模式检测。
    • bare:是否为裸仓库(没有工作目录)。
    • logallrefupdates:是否记录所有引用的更新。
  2. [remote “origin”] 部分

    • url:远程仓库的 URL。
    • fetch:从远程仓库拉取数据的默认分支。
  3. [branch “main”] 部分(或其他分支名称):

    • remote:关联的远程仓库名称。
    • merge:合并的远程分支。
  4. [user] 部分

    • name:用户的姓名。
    • email:用户的邮箱地址。
  5. [alias] 部分

    • 自定义的 Git 命令别名。
  6. [credential] 部分

    • helper:凭证管理工具,如 cachestore
  7. [pull] 部分

    • rebase:是否在拉取时自动变基。
  8. [merge] 部分

    • tool:合并工具的选择。
  9. [diff] 部分

    • tool:差异工具的选择。
  10. [format] 部分

    • pretty:日志格式化选项。
  11. [color] 部分

    • 各种颜色配置,用于终端输出。
  12. [gc] 部分

    • 垃圾回收相关的配置。
  13. [http] 部分

    • HTTP 相关的配置,如代理设置。
  14. [https] 部分

    • HTTPS 相关的配置。
  15. [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"

这样设置后,所有新创建的仓库都会使用这个全局配置的用户名。


http://www.kler.cn/a/404353.html

相关文章:

  • Easyexcel(1-注解使用)
  • 状态模式之状态机
  • IDEA2019搭建Springboot项目基于java1.8 解决Spring Initializr无法创建jdk1.8项目 注释乱码
  • 解决BUG: Since 17.0, the “attrs“ and “states“ attributes are no longer used.
  • 线性回归学习笔记
  • 【C++】绘制内存管理的地图
  • Vue 的各个生命周期
  • opencv(c++)---自带的卷积运算filter2D以及应用
  • Github 开源 10K Stars 自动化 API、后台作业、工作流和 UI 的开发平台
  • 学习Gentoo系统中二进制软件包和源代码包的概念
  • 一维卷积神经网络(1D-CNN)
  • C语言之实现简单的表达式计算器
  • Vue前端开发子组件向父组件传参
  • CTFHub-hate_php
  • 学习C#中的BackgroundWorker 组件
  • 贴贴,一款windows剪切板管理软件
  • std::weak_ptr应用于观察者模式的示例
  • 点亮创新之光:常用缺陷检测算法原理、介绍与发文突破方向全解
  • 持续集成与持续部署:CI/CD实现教程
  • C#之WPF的C1FlexGrid空间的行加载事件和列事件变更处理动态加载的枚举值
  • QT实现列表通过向上向下翻页按钮翻页,以及上下键逐行显示文本行,向左向右键翻页功能
  • 图论之最小生成树计数(最小生成树的应用)
  • 使用API有效率地管理Dynadot域名,删除账户中的whois联系人信息
  • 在 Linux 中,重启命令reboot
  • Linux 用户管理
  • Python简介以及解释器安装(保姆级教学)