First Contributions 项目实战Git 用户身份与配置作用域完全指南【免费下载链接】first-contributions✨ Help beginners to contribute to open source projects项目地址: https://gitcode.com/gh_mirrors/fi/first-contributions导读在参与开源项目尤其是像 first-contributions 这样面向初学者的贡献教学仓库时你的每一次提交都必须关联到明确的姓名和邮箱。本文围绕 first-contributions 仓库中的配置 Git 专项文档系统讲解git config的三种配置作用域全局、仓库、命令行、它们之间的优先级规则以及core.editor、commit.template、color.ui等常用扩展配置项帮助你从第一次git commit报错开始就建立清晰、可控、可迁移的 Git 环境配置能力。为什么 Git 要求你配置身份第一次使用 Git 执行提交时几乎每个人都会遇到类似的提示$ git commit *** 请告诉我你是谁。 运行 git config --global user.email ustedejemplo.com git config --global user.name Su nombre 来设置你账户的默认身份。 如果只想在当前仓库设置身份省略 --global。Git 在创建提交时必须要知道你是谁。协作场景下团队需要能追溯到是谁、在何时修改了项目的哪些部分因此 Git 在设计上要求每个 commit 都必须与一个姓名和一个邮箱绑定。也就是说user.name与user.email不是可选项而是提交操作的硬性前置条件。在 first-contributions 的标准贡献流程中当你执行 README.md 中介绍的git commit -m Add your-name to Contributors list命令前就必须先完成用户身份配置否则提交会被 Git 直接拒绝。三种配置作用域与对应命令为git commit提供姓名和邮箱有多种方式Git 官方文档英文原版位于 docs/additional-material/git_workflow_scenarios/configuring-git.md本文档为其西班牙语墨西哥翻译版本将其归纳为三种全局配置、仓库配置、命令行配置。全局配置Global Config把配置存入全局作用域后它在你机器上的所有仓库、所有项目中均可访问。这是最推荐的方式适用于绝大多数场景尤其是个人开发环境。$ git config --global variable name value配置用户信息时执行$ git config --global user.email ustedejemplo.com $ git config --global user.name Su nombre执行后配置会被写入~/.gitconfig文件之后在该机器上的任何仓库提交都会使用这组身份。仓库配置Repository Config顾名思义仓库配置仅作用于当前仓库。典型场景是你正在用个人身份参与 first-contributions 这样的开源项目但同时又在一个公司工作项目里提交希望用企业邮箱提交——这时就应该使用仓库级配置。方法是省略--global标志$ git config variable name value配置用户信息时执行$ git config user.email ustedalternate.com $ git config user.name Tu nombre这类配置会被写入当前仓库的.git/config文件中只对该仓库生效不会影响其他项目。命令行配置Command-line Config命令行配置只对当前这条命令生效是最临时的配置方式。所有 Git 命令都可以在动作动词之前使用-c参数临时注入配置数据$ git -c variable-1value -c variable-2value command例如用一次性身份提交git -c user.nameSu nombre -c user.emailyouexample.com commit -m Su mensaje de confirmación这种方式非常适合在 CI 环境、脚本或一次性操作中临时指定身份因为配置不会落盘、不会污染任何配置文件。配置优先级命令行 仓库 全局三种方式同时配置同一个变量时生效优先级为命令行-c 仓库.git/config 全局~/.gitconfig这意味着如果user.email同时在命令行和全局中设置本次操作使用命令行的值如果在仓库和全局中同时设置则仓库的值覆盖全局的值。理解这一规则可以帮你快速定位为什么我改了全局邮箱提交还是用旧邮箱之类的疑惑——多半是仓库级配置在起作用。验证当前生效配置可执行git config --list # 列出当前仓库所有生效配置含各级来源 git config --get user.name # 查询单个变量的最终生效值 git config --show-origin --get user.email # 同时显示该值来自哪个文件超越用户信息其他常用配置项配置能力远不止用户身份。原文档进一步列举了三个高频扩展配置配置项作用示例值core.editor指定用于编写提交消息等内容的编辑器名称vim、code --wait、nanocommit.template指定系统中某个文件作为初始提交模板/path/to/commit-template.txtcolor.ui布尔值控制 Git 输出是否使用颜色true、false、auto示例git config --global core.editor code --wait git config --global commit.template ~/.git-commit-template git config --global color.ui autocommit.template特别适合团队规范提交信息格式color.ui auto则能让你在终端中更直观地区分git status、git diff中的增删内容。结合 first-contributions 仓库中的其他补充文档你还会发现配置体系的其他应用凭据缓存storing-credentials.md 讲解通过git config --global credential.helper cache及git config credential.helper cache --timeouttimeout设置凭据缓存默认 900 秒避免每次 push 都输入用户名密码该文档同时提醒凭据以明文落盘的安全风险。全局忽略规则creating-a-gitignore-file.md 讲解通过git config --global core.excludesfile ~/.gitignore_global让所有仓库共用一套忽略规则配合git rm --cached取消已跟踪文件。在 first-contributions 项目中的实际应用first-contributions 的教学流程README.md本身就会多次触及配置git clone拉取 fork 仓库、git switch -c创建分支、git add暂存、git commit提交、git push推送。其中任何一次git commit之前身份配置都是前提。建议按以下顺序落地首次使用 Git 时执行两条git config --global设置默认身份遇到需要不同身份的特定仓库如公司项目在该仓库内省略--global覆盖临时、一次性提交脚本/CI使用git -c注入用git config --list确认最终生效值避免因优先级问题提交错误身份。更多 Git 进阶技巧修改提交、变基、解决冲突、同步 fork 等可继续阅读 additional-material.md 索引下的系列文档本文所讲的身份配置是整个贡献工作流的基石。说明原文档末尾引用的 git-scm.com 外部链接读者可自行查阅 Git 官方手册获取更完整的配置项清单本仓库内的配置相关补充文档storing-credentials.md、creating-a-gitignore-file.md即为最佳的内置延伸阅读材料。【免费下载链接】first-contributions✨ Help beginners to contribute to open source projects项目地址: https://gitcode.com/gh_mirrors/fi/first-contributions创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考