first-contributions 首次开源贡献实战指南:基于 Git Bash 与 GitHub CLI 完成 Fork 到 Pull Request 全流程
文档教程开源治理【免费下载链接】first-contributions✨ Help beginners to contribute to open source projects项目地址https://gitcode.com/gh_mirrors/fi/first-contributions点击查看免费下载导读本指南围绕 first-contributions 仓库的经典入门教程对应文档 docs/cli-tool-tutorials/github-cli-tutorial-Hindi.md展开面向第一次参与开源贡献的新手完整讲解在 Windows 上使用 Git Bash 命令行完成fork - clone - edit - pull request标准工作流的每一步。读完本文你将掌握 fork 仓库、克隆到本地、创建分支、修改Contributors.md、提交并推送更改、最终提交 Pull RequestPR的全套操作并能对照仓库源码与配套进阶文档继续深化 Git 技能。项目背景为什么要做第一次贡献首次做一件事总是困难的尤其是协作开发时害怕犯错是人之常情。但开源的本质就是协作与共同进步。first-contributions 项目的核心目标正是简化并引导初学者完成第一次贡献——正如项目根目录 README.md 开头所写的This project aims to simplify and guide the way beginners make their first contribution。阅读文章、观看教程固然有帮助但真正动手、在不搞砸任何东西的前提下完成一次真实贡献才是最有效的学习方式。本项目把这次练习设计得足够简单你只需要在一个叫Contributors.md的贡献者名单文件里加上自己的名字就能完整体验一次真实的开源协作流程。仓库根目录下的 Contributors.md 目前已有数千位贡献者其中大量记录正是新手们按本教程提交的第一个 PR。环境准备安装 Git 与 Git Bash开始之前请确认你具备以下条件Git 已安装Git 是版本控制工具所有后续命令都依赖它。若尚未安装请前往 Git 官方下载页面选择对应 Windows 安装包完成安装。GitHub 账户fork 与提交 PR 都需要 GitHub 账户。Windows 用户Git Bash如果机器上没有 Git Bash请随 Git 一起安装Git for Windows 默认自带 Git Bash 终端。本教程全程在 Git Bash 中执行命令它是 Windows 下体验最接近 Linux/Mac 终端的命令行环境你下载安装完成后打开的 Git Bash 界面即为操作入口。进阶补充本教程对应的英文原版 docs/cli-tool-tutorials/github-cli-tutorial.md 还介绍了 GitHub 官方命令行工具ghGitHub CLI它允许你在终端中完成 fork、创建 PR 等原本需要在网页上操作的动作。如果你倾向于一切都在终端里完成可以在安装 Git 后额外安装gh工具并先执行gh auth login完成命令行登录授权后续小节会给出对应的gh命令。工作流全景fork - clone - edit - pull request整篇教程围绕一个在开源社区中最常见、你今后作为贡献者会反复遇到的标准流程展开阶段目的核心命令/操作Fork在你自己账户下创建仓库副本网页按钮 /gh repo forkClone把远端副本下载到本地git clone repo-urlEdit修改文件、创建提交git add、git commitPull Request把改动提交给上游审核网页Compare pull request/gh pr create理解这个三角协作结构很关键上游公共仓库first-contributions、你自己的 GitHub fork、本地机器上的仓库副本三者共同构成开源协作的基本形态具体说明见 docs/additional-material/git_workflow_scenarios/keeping-your-fork-synced-with-this-repository.md。第一步Fork 这个仓库Fork 即复刻在 first-contributions 仓库页面右上角点击Fork按钮GitHub 会在你的账户下生成一份该仓库的完整副本。这份副本完全归你所有你可以在上面随意修改而不影响原始仓库。如果你安装了 GitHub CLI也可以完全在终端里完成gh repo fork firstcontributions/first-contributions重要提示执行gh repo fork时命令会询问你是否同时把仓库克隆到本地请选择yes选了 yes 可以跳过下面手动的 clone 步骤。第二步Clone 仓库到本地现在把这份 fork 克隆到你的机器上。重要不要克隆原始仓库而是克隆你自己的 fork。请回到你的 GitHub 账户打开刚才 fork 出来的仓库点击绿色的Code按钮复制其中的仓库地址字符串。打开你下载好的 Git Bash 应用先用cd命令切换到你想保存项目的文件夹cd folder然后使用刚才复制的地址执行克隆命令git clone repo-url例如this-is-you换成你的 GitHub 用户名git clone gitgithub.com:this-is-you/first-contributions.git克隆完成后进入仓库目录并打开编辑器cd first-contributions第三步创建你的专属分支创建分支是 Git 协作的关键习惯分支让你在不干扰主干main的前提下安全工作。执行下面这条命令它不仅能创建分支还会自动切换到新分支上git checkout -b branch-name分支名建议用add-你的名字的格式例如add-james-smith。如果add-james-smith这个分支已存在可以换一个更独特的名字比如add-james-smith-2024。版本说明如果你的 Git 版本较新也可以使用等价的git switch -c branch-name命令。README 主流程见 README.md默认使用git switch -c并提示若出现 switchis not a git command 报错说明 Git 版本过旧请改用git checkout -b。两种写法效果完全相同任选其一即可。第四步修改 Contributors.md 并提交添加你的名字用文本编辑器打开仓库根目录下的Contributors.md文件滚动到文件中间位置把名字加在文件开头和末尾之间的任意位置保存文件。文件中的每一行遵循 Markdown 链接格式例如 James Smith 应添加[James Smith](https://github.com/jamessmith)参考 Contributors.md 中真实存在的条目可以看到大量这样的记录例如- [Sachin Kumar](https://github.com/ST-SACHIN-KUM)、- [Vanshi Patel](https://github.com/VAP2999)。有些人还会在名字后附带一句留言如 My first open-source contribution!这完全自由。查看改动状态回到 Git Bash在项目目录下执行git statusGit 会以红色列出被修改的文件此处为Contributors.md表示你的改动尚未被跟踪。暂存改动把改动加入暂存区staging areagit add file-name此处应为git add Contributors.md提交改动用带-m参数的 commit 命令写入提交信息git commit -m Add your-name to Contributors list记得把your-name替换成你自己的名字例如git commit -m Add James Smith to Contributors list。验证提交如需确认提交是否成功可运行git log --oneline输出会列出最近一次提交及其简短哈希与提交信息例如a1b2c3d Add James Smith to Contributors list第五步推送改动到 GitHub本地提交完成后把分支推送到你的 GitHub forkgit push origin branch-name其中branch-name替换为第三步创建的分支名。如果希望同时建立本地分支与远程分支的跟踪关系便于以后直接git push可以使用带-u的写法git push -u origin branch-name推送报错排查认证问题如果你在推送时遇到如下错误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/说明当前 Git 版本已不再支持通过 HTTPS 口令密码认证需要改用 SSH 密钥或 personal access token。README 主文档见 README.md给出了详细处理建议生成 SSH 密钥并配置到你的 GitHub 账户参照 GitHub 官方 SSH 配置文档用git remote -v检查你的远程地址若显示的是 HTTPS 形式https://github.com/your-username/your_repo.git请将其切换为 SSH 形式git remote set-url origin gitgithub.com:your-username/your_repo.git否则推送时仍会反复提示输入用户名和密码并认证失败。第六步提交 Pull Request 供审核改动推送到远程后回到你的 GitHub 仓库页面你会看到醒目的Compare pull request按钮点击它。进入创建 PR 的页面后确认对比方向base为上游的 main 分支compare为你刚推送的分支填写标题与说明然后提交 Pull Request。仓库维护者收到 PR 后会进行审核一旦通过审核你的改动就会被合并进 first-contributions 的 main 分支届时你会收到合并通知邮件。如果你安装了 GitHub CLI提交 PR 可以完全在终端完成——在本地仓库目录执行gh pr create --repo firstcontributions/first-contributions按提示填写标题与正文后即可创建 PR之后可用gh status实时查看你相关 PR 的状态。收尾同步 fork 与进阶 Git 技能到这里你已经完成了标准开源贡献流程接下来可以继续深入保持 fork 与上游同步随着越来越多贡献者的改动被合并你的 fork 会逐渐落后于上游仓库。GitHub 页面会提示你 behind 若干提交。完整同步流程添加upstream远程、git fetch upstream、git rebase upstream/main、git push origin main或一步到位的git pull upstream main见 docs/additional-material/git_workflow_scenarios/keeping-your-fork-synced-with-this-repository.md其中还解释了三角工作流的协作原理。进阶 Git 技术索引本文档的姊妹篇 docs/additional-material/git_workflow_scenarios/additional-material.md 汇总了十余个高频实战主题包括修改最近一次提交amend配置 Git 用户信息解决合并冲突压缩多个提交回退已推送的提交 与 撤销本地提交删除本地分支 等尝试其他工具教程如果不习惯命令行可以改用图形化工具完成同样的流程相关教程GitHub Desktop、VS Code、GitKraken、IntelliJ IDEA、Sourcetree 等的入口与链接均收录在根目录 README.md 的 Tutorials Using Other Tools 表格中中文版本参见 docs/translations/README.zh-cn.md。结语恭喜你刚刚完成了一次真实的开源贡献。回顾整个流程fork在云端复制仓库 →clone拉到本地 → 创建独立分支 → 编辑Contributors.md→add/commit提交 →push推回云端 →pull request交给上游审核这正是所有开源贡献者的日常。把这次的经验应用到其他项目上你会发现开源协作并不神秘——它就是一群人通过这套规范流程安全、有序地把各自的小改进汇集成大项目的过程。赞分享文档教程开源治理【免费下载链接】first-contributions✨ Help beginners to contribute to open source projects项目地址https://gitcode.com/gh_mirrors/fi/first-contributions点击查看免费下载相关推荐first-contributions 全终端实战用 GitHub CLI 完成从 Fork 到 Pull Request 的首次开源贡献first contributions 全终端实战用 GitHub CLI 完成从 Fork 到 Pull Request 的首次开源贡献 本指南面向希望在终文档教程开源治理first-contributions 首次开源贡献实战指南从 Fork 到 Pull Request 的完整 Git 流程first contributions 首次开源贡献实战指南从 Fork 到 Pull Request 的完整 Git 流程 本篇指南以 first cont文档教程开源治理first-contributions 开源贡献实战使用 GitHub Desktop 完成从 Fork 到 Pull Request 的首次贡献全流程first contributions 开源贡献实战使用 GitHub Desktop 完成从 Fork 到 Pull Request 的首次贡献全流程 本篇文档教程开源治理创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考