
文档教程开源治理【免费下载链接】first-contributions✨ Help beginners to contribute to open source projects项目地址https://gitcode.com/gh_mirrors/fi/first-contributions点击查看免费下载本指南以开源仓库 first-contributions 的核心入门文档为主体系统讲解初学者完成第一次开源贡献所需的完整 Git 工作流Fork 仓库 → 克隆到本地 → 创建分支 → 修改并提交 → 推送远程 → 提交 Pull Request。读完本文你将能独立完成一次真实的开源贡献并掌握分支管理、远程同步与冲突处理等后续进阶技能。文档背景与本指南的定位本文基于仓库中的入门文档 README.pcm.md 展开。该文档是项目主 README 的尼日利亚皮钦英语Nigerian Pidgin翻译版本与 主 README 内容完全对应项目定位是帮助初学者以最简单的方式完成第一次开源贡献项目描述为 Help beginners to contribute to open source projects。仓库根目录的 Contributors.md 已有近六千行贡献者名单每位贡献者的名字正是通过本文将要讲解的流程逐步添加进去的——它本身就是这套工作流最好的运行示例。文章中所有命令均以终端操作为主。如果你不习惯命令行仓库还提供了使用图形界面工具的教程可在文章末尾的「图形界面工具」一节查看。开始之前准备 Git 环境整个流程的第一步是确认本机已安装 Git。在终端执行git --version如果提示找不到命令需要先完成 Git 的安装与基础配置。安装完成后建议先用git config配置用户名和邮箱因为提交commit会记录作者信息。关于用户信息、默认编辑器等配置项的详细说明可参考仓库文档 configuring-git.md。第一步Fork 仓库进入 first-contributions 仓库页面点击页面顶部的Fork按钮。Fork 的本质是在你自己的账号下创建一份该仓库的完整副本。这一步之后你会拥有一个属于自己的first-contributions仓库后续所有修改都发生在你的副本上不会影响原始仓库。第二步克隆仓库到本地克隆clone是把远程仓库的内容下载到本机。操作如下登录 GitHub打开你刚才 Fork 出来的仓库点击页面上的Code按钮建议切换到 SSH 标签页点击复制按钮把仓库地址复制到剪贴板打开终端执行git clone命令git clone url wey you just copy其中url wey you just copy去掉引号替换为刚复制的地址即你 Fork 出来的仓库地址。例如git clone gitgithub.com:this-is-you/first-contributions.git这里的this-is-you是你的 GitHub 用户名。执行成功后远程仓库的全部内容就被复制到了本机。如果想在本地查看本仓库镜像的代码而不进行贡献流程也可以直接克隆镜像地址git clone https://gitcode.com/gh_mirrors/fi/first-contributions.git。第三步创建分支先进入仓库目录如果还没进去的话cd first-contributions然后使用git switch命令创建一个新分支git switch -c your-new-branch-name例如git switch -c add-desmond-ezo-ojile分支是 Git 的核心概念之一它让你在独立的开发线上修改代码而不会干扰主分支main。这也是后续 Pull Request 能够「按分支评审合并」的基础。兼容性提示如果执行git switch时出现类似 Git:switchis not a git command 的错误说明你的 Git 版本较旧。此时改用等价的git checkout命令即可git checkout -b your-new-branch-name此后备方案详见主文档 README.md 中的说明。第四步修改文件并提交现在开始做出你的实际贡献。用文本编辑器打开仓库根目录的 Contributors.md 文件把你的名字添加进去。注意不要加在文件开头或结尾而是加在文件中间任意位置这是为了让多位贡献者的提交减少冲突概率。保存文件后回到项目目录执行git status你会看到该文件已被标记为有变更git statusgit status会列出工作区中所有改动是后续每个步骤前都建议执行的状态检查命令。接下来把改动添加到暂存区staging area使用git addgit add Contributors.mdgit add只暂存你明确指定的文件这给了你精确控制「哪些改动进入下一次提交」的能力。然后提交这些改动git commit -m Add your-name to Contributors list把your-name替换成你自己的名字。-m参数用于附加提交信息一条清晰、描述性的提交信息是开源协作的基本礼仪。第五步推送到 GitHub提交只发生在本地接下来要把本地分支推送到你的 GitHub 仓库git push -u origin your-branch-name把your-branch-name替换为你第三步创建的分支名。-u参数会把本地分支与远程分支建立跟踪关系此后在该分支上直接执行git push即可无需再指定远程和分支名。推送失败认证错误处理如果推送时遇到认证错误最常见的情形是 GitHub 自 2021 年 8 月 13 日起移除了密码认证错误信息通常形如remote: Support for password authentication was removed on August 13, 2021. Please use a personal access token instead. fatal: Authentication failed for https://github.com/your-username/first-contributions.git/解决办法是按 GitHub 官方指引为账号生成并配置 SSH 密钥SSH key以 SSH 方式认证。此外可用以下命令检查当前的远程地址配置git remote -v如果输出类似于origin https://github.com/your-username/your_repo.git (fetch) origin https://github.com/your-username/your_repo.git (push)说明仍然走 HTTPS 方式、会反复提示输入用户名密码。可改用 SSH 地址git remote set-url origin gitgithub.com:your-username/your_repo.git这样即可避免后续的认证报错。第六步提交 Pull Request推送成功后回到你在 GitHub 上的仓库页面页面上会出现一个Compare pull request按钮点击它然后提交 Pull Request。Pull Request简称 PR是开源协作的关键环节它向原始仓库的所有者发出「请合并我分支上的这些改动」的请求。提交后项目维护者会审查你的改动并合并到主分支合并完成后你会收到一封变更已合并的通知邮件。至此你已完整走通了开源贡献的标准流程fork → clone → edit → pull request。这个四步工作流在几乎所有 GitHub 协作项目中都会反复遇到。贡献完成之后进阶主题第一次贡献只是起点。仓库在 additional-material.md 中整理了一批进阶 Git 场景以下两个与日常协作关系最密切保持 Fork 与上游仓库同步随着项目持续演进你 Fork 的仓库会落后于原始仓库。开源协作中常见「三角工作流」原始公开仓库 → 你的 GitHub Fork → 你的本地仓库。同步的基本思路是先把原始仓库称为upstream的最新内容拉到本地再推送到你的 Fork。首先为本地仓库添加上游远程只需配置一次git remote add upstream https://github.com/firstcontributions/first-contributions.git接着切换到 main 分支可用git status第一行确认当前分支git checkout main然后拉取上游最新版本并变基到本地 main 分支git fetch upstream git rebase upstream/main最后推送到你的 Fork即名为origin的远程git push origin main如果想一步完成「拉取并合并上游 main」的操作可以直接使用git pull upstream main建议在 GitHub 提示「你的分支落后于上游 N 个提交」时执行上述同步流程。完整说明见 keeping-your-fork-synced-with-this-repository.md。解决合并冲突当不同分支修改了同一处内容、Git 无法自动合并时就会产生合并冲突。冲突文件中会插入如下标记 HEAD 你的分支上的改动 来自其他分支的改动 branch-name其中 HEAD表示当前分支的改动是分隔线 branch-name表示另一个分支的改动。解决步骤是用git status定位冲突文件位于 Unmerged paths 列表→ 编辑文件、保留期望的改动并删除全部冲突标记 → 用git add filename标记已解决 → 最后提交合并。详细流程见 resolving-merge-conflicts.md。其他常见场景索引仓库的进阶文档还覆盖了以下高频场景均位于docs/additional-material/git_workflow_scenarios/目录下修改最近一次提交amending-a-commit.md调整提交信息或补充遗漏的改动撤销已推送的提交reverting-a-commit.md撤销/重置本地提交undoing-a-commit.md将多个提交压缩为一个squashing-commits.md常用于响应评审者「把提交合并成一个并附上信息性提交信息」的要求移除文件与删除分支removing-a-file.md、removing-branch-from-your-repository.md。图形界面工具如果你更习惯图形化操作而非命令行仓库在docs/gui-tool-tutorials/下提供了多套工具的入门教程例如 GitHub Desktop、Visual Studio Code、GitKraken 等覆盖了 Windows、macOS 等不同平台。结语一份可复用的贡献检查清单回顾全文一次标准贡献可以浓缩为六步检查清单Fork在原始仓库页面点击 Fork获得自己的副本Clone复制 Fork 地址并git clone到本地Branchgit switch -c your-branch-name创建独立分支旧版 Git 用git checkout -bCommit修改 Contributors.md →git status检查 →git add Contributors.md→git commit -m Add your-name to Contributors listPushgit push -u origin your-branch-name遇认证错误时改用 SSH key 或git remote set-url调整远程地址Pull Request点击Compare pull request提交 PR等待维护者审查合并。这套流程不仅适用于 first-contributions 仓库也是所有 GitHub 开源项目通用的协作范式。完成首次贡献后建议继续阅读仓库中的 进阶文档 与各语言版本包括中文版 README逐步从「会提 PR」成长为熟练的开源贡献者。赞分享文档教程开源治理【免费下载链接】first-contributions✨ Help beginners to contribute to open source projects项目地址https://gitcode.com/gh_mirrors/fi/first-contributions点击查看免费下载相关推荐first-contributions 实战指南从 Fork 到 Pull Request 的首次开源贡献完整流程first contributions 实战指南从 Fork 到 Pull Request 的首次开源贡献完整流程 导读 本文基于 first contrib文档教程开源治理first-contributions 首次开源贡献实战从 Fork 到 Pull Request 的完整指南first contributions 首次开源贡献实战从 Fork 到 Pull Request 的完整指南 本文以 GitHub 加速计划 fi 镜像中的文档教程开源治理first-contributions 首次开源贡献实战指南从 Fork 到 Pull Request 的完整 Git 流程first contributions 首次开源贡献实战指南从 Fork 到 Pull Request 的完整 Git 流程 本篇指南以 first cont文档教程开源治理创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考