
文档教程开源治理【免费下载链接】first-contributions✨ Help beginners to contribute to open source projects项目地址https://gitcode.com/gh_mirrors/fi/first-contributions点击查看免费下载导读本指南基于开源仓库 first-contributions 的多语言入门文档docs/translations/README.lv.md 及仓库根目录 README.md系统讲解初学者如何在真实环境中完成第一次开源贡献。读完本文你将掌握fork → clone → edit → pull request这条标准协作工作流学会分支创建、文件修改、提交推送与 PR 提交流程并了解后续同步 fork、解决合并冲突等进阶技能。仓库定位本项目项目描述为 Help beginners to contribute to open source projects本身就是让新人练手的目标仓库——新人把名字添加到 Contributors.md 后提交 PR即完成一次真实的开源协作演练。为什么需要「动手练一次」而不是只看教程第一次做某件事总是困难的尤其是在与他人协作时犯错会令人不适。阅读文章、观看教学视频固然有帮助但没有任何方式比在真实环境中实操一次更好。first-contributions 项目的目标正是「简化并引导初学者完成第一次贡献」你面对的不是模拟环境而是一个真实仓库你提交的 PR 会被真实合并名字会出现在真实的贡献者名单中当前 Contributors.md 已有数千条记录这也印证了该流程的可操作性。准备工作安装 Git开始之前请确认你的机器上已经安装了 Git。如果尚未安装请先完成 Git 的安装与环境配置本仓库提供了 Ubuntu 与 Arch Linux 的安装说明可参考 installing-git-ubuntu.zh-cn.md 与 installing-git-arch.zh-cn.md。若你暂不习惯命令行本仓库同样提供了基于图形界面工具的完整教程见文末「其他工具教程」一节但本文以命令行方式为主线。第一步Fork分叉仓库Fork 是在 GitHub 页面上点击本仓库顶部的Fork按钮。这一操作会在你自己的 GitHub 账户下创建该仓库的一份副本。为什么要先 Fork因为你没有权限直接向原仓库写代码而 Fork 得到的副本完全归你所有你可以自由修改、推送再通过 Pull Request 把改动提交回原仓库。这是开源协作中「复制 → 修改 → 回交」模式的起点。第二步Clone克隆仓库到本地Fork 之后进入你账户下的那份仓库副本点击Code按钮选择 HTTPS 或 SSH 方式再点击复制到剪贴板图标复制仓库地址。打开终端执行克隆命令git clone 你刚复制的地址其中的地址是你 fork 出的仓库 URL例如git clone https://github.com/你的用户名/first-contributions.git这里你的用户名是你的 GitHub 用户名。执行后GitHub 上 first-contributions 仓库的内容就被完整复制到了你的电脑上。提示如果 clone 时遇到认证问题可检查远端地址git remote -v或改用 SSH 地址gitgithub.com:你的用户名/first-contributions.git并通过git remote set-url origin切换避免 HTTPS 密码认证被拒绝。第三步创建功能分支Branch首先进入仓库目录cd first-contributions然后使用git checkout创建一个新分支git checkout -b 新分支的名称例如git checkout -b add-alonzo-church分支名中不强制包含add但建议保留——因为这个分支的用途就是把自己的名字加入列表命名清晰便于维护者理解 PR 意图。若你使用的 Git 版本较新也可以使用等价的git switch -c 分支名旧版 Git 若提示switch不是有效命令改用git checkout -b即可。原理说明git checkout -b会基于当前所在分支创建新分支并立即切换过去。此后的git add/git commit都只会作用于这个新分支不会影响main分支这正是「功能分支」隔离改动、避免相互干扰的核心机制。第四步修改文件并提交Commit用文本编辑器打开仓库根目录下的 Contributors.md把你的名字添加进去。注意不要加在文件开头或结尾而是放在中间的任意位置。保存文件。回到项目目录执行git status可以看到文件中出现了待提交的改动。接下来把改动加入暂存区git add Contributors.md然后提交这些改动git commit -m Add 你的名字 to Contributors list将你的名字替换为你自己的名字。git commit会把暂存区的改动固化为一个带提交信息的版本快照-m参数用于直接指定提交信息避免打开编辑器。第五步推送到 GitHubPush将本地分支的改动推送到远程仓库git push origin 分支名称将分支名称替换为第三步中创建的分支名。这里origin指向你 fork 出的远程仓库即克隆时使用的默认远程名。执行后改动出现在你 GitHub 账户下该仓库的对应分支上。第六步提交 Pull RequestPR回到 GitHub 上你 fork 的仓库页面会看到一个Compare pull request按钮点击它进入 PR 创建页面填写说明后提交即可。提交后维护者会将你的改动合并进项目的main分支合并完成时你会收到邮件通知。至此你的第一次开源贡献就完成了——这是一次完整的fork → clone → edit → pull request标准工作流演练也是今后参与任何开源项目都会反复遇到的基本协作模式。接下来做什么从第一次贡献走向长期协作完成首次贡献后可以沿着以下路径继续深入1. 保持 fork 与原仓库同步随着你和其他人不断向项目贡献原仓库会持续前进你的 fork 会逐渐落后GitHub 会提示 a few commits behind。此时需要执行「三角工作流」Triangle Workflow上游公开仓库 → 本地仓库 → 你的 GitHub fork。具体操作如下# 1. 确保在 main 分支 git checkout main # 2. 添加上游仓库为远程命名为 upstream git remote add upstream https://github.com/firstcontributions/first-contributions.git # 3. 拉取上游最新提交 git fetch upstream # 4. 将上游 main 合并/变基到本地 main git rebase upstream/main # 5. 推送本地 main 到你的 fork git push origin main也可以一步到位git pull upstream main同时完成 fetch 与合并。详见 keeping-your-fork-synced-with-this-repository.md。2. 掌握进阶 Git 技巧本仓库在 additional-material.md 中汇总了贡献者常用的进阶场景包括修改最近一次提交用git commit --amend -m 新提交信息修正提交信息或补充遗漏的改动若该提交已推送远程需用git push --force覆盖远端历史更安全的是--force-with-lease避免误覆盖他人的改动详见 amending-a-commit.md解决合并冲突当两个分支修改了同一行、或一方删除的文件另一方仍在修改时Git 无法自动合并。可通过git status查看未合并文件用 HEAD ... ... 分支名标记定位冲突手工整合后git add并git commit完成合并也可以git mergetool调用可视化工具或git merge --abort放弃合并详见 resolving-merge-conflicts.md整理提交历史通过交互式 rebase 合并多个提交squashing、撤销已推送/未推送的提交、移动提交到其他分支等对应的文档均在 docs/additional-material/git_workflow_scenarios 目录下。3. 把贡献分享出去并参与更多项目完成贡献后可以在社区分享你的成果同时可以继续在更多仓库中练习优先选择带有 easy issues简单问题标记的开源项目起步。无论选择哪条路你已掌握的这条 fork → PR 工作流都会反复派上用场。其他工具教程GUI 方式如果你不习惯命令行本仓库为多种主流 GUI 工具提供了对应教程均位于 docs/gui-tool-tutorials 目录下工具教程GitHub Desktopgithub-desktop-tutorial.mdVisual Studio 2017github-windows-vs2017-tutorial.mdGitKrakengitkraken-tutorial.mdVisual Studio Codegithub-windows-vs-code-tutorial.mdAtlassian Sourcetreesourcetree-macos-tutorial.mdIntelliJ IDEAgithub-windows-intellij-tutorial.md此外仓库还提供了 Windows 下使用 Git Bash 与 GitHub CLI 的终端教程见 docs/cli-tool-tutorials 目录以及面向非程序员的贡献指南如 Things a non Programmer can do.md 的中文版 Things a non Programmer can do.zh-cn.md。小结本文以 first-contributions 仓库的入门文档为骨架完整还原了fork → clone → edit → pull request的第一次贡献全流程并延伸介绍了 fork 同步、提交修正、合并冲突解决等进阶主题。你现在已经具备向任意开源项目提交首次贡献的完整能力——动手实践是学习开源协作最好的方式。赞分享文档教程开源治理【免费下载链接】first-contributions✨ Help beginners to contribute to open source projects项目地址https://gitcode.com/gh_mirrors/fi/first-contributions点击查看免费下载相关推荐first-contributions 实战指南用 fork → clone → edit → PR 流程完成你的第一次开源贡献first contributions 实战指南用 fork → clone → edit → PR 流程完成你的第一次开源贡献 first contribu文档教程开源治理first-contributions 新手完全指南用 fork-clone-edit-PR 工作流完成你的第一次开源贡献first contributions 新手完全指南用 fork clone edit PR 工作流完成你的第一次开源贡献 本篇技术指南以 first con文档教程开源治理first-contributions 实战指南用 fork-clone-edit-pull request 工作流完成你的第一次开源贡献first contributions 实战指南用 fork clone edit pull request 工作流完成你的第一次开源贡献 本指南以开源教学仓文档教程开源治理创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考