
first-contributions 开源贡献实战从 Fork 到 Pull Request 的完整入门流程【免费下载链接】first-contributions✨ Help beginners to contribute to open source projects项目地址: https://gitcode.com/gh_mirrors/fi/first-contributions本篇技术指南以first-contributions仓库的越南语官方教程docs/translations/README.vn.md为主线系统讲解新手向开源项目提交第一份贡献的完整链路Fork 复刻 → Clone 克隆 → 创建分支 → 修改文件 → Commit 提交 → Push 推送 → Pull Request 合入请求。读完本文你将掌握这套在几乎所有开源项目中通用的协作流程并能独立完成一次真实、可被合并的开源贡献。项目概览这个仓库为什么存在first-contributions是一个专门面向开源新手的教学仓库MIT 协议其核心思路是与其阅读教程不如真正动手实践仓库本身就是一个可以安全演练的环境任何新手都可以按照官方步骤提交自己的名字并触发一次真实的 Pull Request在真实协作环境中走完全部流程而不用担心破坏项目。仓库结构本身就体现了这套教学设计根目录的 README.md 是英文原版完整教程docs/translations 目录下提供了近数十种语言的翻译版本包括中文简体README.zh-cn.md、中文繁体README.zh-tw.md以及本文所依据的越南语版本README.vn.mdContributors.md 是所有贡献者添加自己名字的目标文件目前已积累数千条贡献记录文件超过 5900 行是这套流程被反复验证的活证据docs/additional-material/git_workflow_scenarios 存放 Git 进阶场景文档docs/gui-tool-tutorials 存放不使用命令行时的图形化工具教程。说明本文所有命令均以当前仓库教程为事实依据。若本机尚未安装 Git请先按官方 Git 安装指引完成安装Linux 可参考仓库内 installing-git-ubuntu.md 与 installing-git-arch.md安装完成后在终端执行git --version验证。第一步Fork复刻上游仓库Fork 的含义是复刻点击仓库页面顶部的Fork按钮在你的 GitHub 账号下生成一份该仓库的完整副本。为什么要先 Fork 而不是直接修改原仓库因为普通贡献者没有上游仓库的写权限。Fork 之后你拥有自己副本的完全控制权可以在其中自由创建分支、提交修改最后通过 Pull Request 把改动申请回原仓库。这一机制也是 docs/how-to-contribute-to-open-source-projects.md 中Fork and Clone → Create a Branch → Write Clean Code → Test → Open PR贡献流程的第一步。第二步Clone克隆到本地进入你的 GitHub 账号打开刚才 Fork 出来的仓库点击Code按钮再点击copy to clipboard复制到剪贴板图标复制仓库 URL。打开终端执行git clone url bạn vừa sao chép其中url bạn vừa sao chép去掉引号就是上一步复制到的你名下副本的地址。例如git clone https://github.com/你的GitHub用户名/first-contributions.git把你的GitHub用户名替换成真实用户名后这条命令会把 first-contributions 仓库的内容完整下载到你的电脑上生成一个名为first-contributions的本地目录。克隆完成后本地目录与你 GitHub 上的 fork 副本即建立了origin远程关联后续git push默认推送的目标就是它。第三步创建独立分支进入仓库目录如果当前不在此目录中cd first-contributions然后使用git switch命令创建并切换到一个新分支git switch -c tên-nhánh-mới-của-bạn教程给出的示例分支名是git switch -c thêm-Tran-Ly-Vu其中thêm是越南语添加之意即用add-你的名字这样的前缀说明分支用途英文原版 README 中对应示例为git switch -c add-alonzo-church。分支名并不强制包含add但用动词前缀表明为添加名单而创建的意图是社区常见约定。补充如果你的 Git 版本较旧执行git switch时报 switchis not a git command 错误说明switch子命令在旧版本中尚不存在。此时改用经典写法即可git checkout -b 你的新分支名checkout -b与switch -c语义等价-b/-c均表示创建新分支并立即切换过去。第四步修改 Contributors.md 并提交用文本编辑器打开仓库根目录的Contributors.md文件把你的名字添加进去。这里有一个重要的规范细节不要加在文件开头或结尾要加在中间任意位置。原因从文件内容即可看出——贡献者名单是不断追加的开放列表若所有人都追加到开头或结尾将不可避免地产生大量冲突把名字插入中间可以分散写入点降低与其他人同时提交时的合并冲突概率。保存文件后在项目目录执行git status检查工作区状态你会看到Contributors.md已被标记为已修改modified。接下来用git add把修改加入暂存区git add Contributors.md然后提交git commit -m Them ten-ban vào danh sách Cộng tác viên将ten-ban替换为你的名字。这条提交信息是越南语原文意为将 你的名字 添加到贡献者列表如果你更习惯英文写成git commit -m Add your-name to Contributors list同样符合规范。提交信息应简明描述改动内容这是 Pull Request 评审者判断改动意图的第一依据。第五步Push 到你的 GitHub 分支将本地提交推送到 GitHub 上你自己的 forkgit push origin tên-nhánh-của-bạn把tên-nhánh-của-bạn替换为第三步创建的分支名。这里origin指代你 fork 出来的远程仓库。英文原版 README 推荐加上-u参数git push -u origin 你的分支名-u--set-upstream会把当前本地分支与远程分支建立跟踪关系此后在该分支上直接执行git push即可无需再重复指定远程与分支名。Push 报错排查身份认证失败如果你在 push 时看到类似下面的报错说明遇到了身份认证问题remote: Support for password authentication was removed on August 13, 2021. Please use a personal access token instead. remote: Please see https://github.blog/2020-12-15-token-authentication-requirements-for-git-operations/ for more information. fatal: Authentication failed for https://github.com/你的用户名/first-contributions.git/自 2021 年 8 月起GitHub 已移除 HTTPS 方式下的密码口令认证必须改用**个人访问令牌Personal Access Token**或SSH 密钥完成认证。仓库教程给出的解决路径是按照 GitHub 官方的 SSH 密钥教程为你的账号生成并配置 SSH 密钥之后改用 SSH 地址访问仓库。英文原版 README 还给出了两个补充排查步骤执行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 上的 fork 仓库页面你会看到页面顶部出现一个Compare pull request比较并创建拉取请求按钮点击它确认比较基准base是上游原仓库的主分支master/maincompare是你刚推送的功能分支确认 diff 中只包含你对Contributors.md的修改点击创建 Pull Request填写标题与说明后提交。提交完成后维护者会审阅你的改动并将其合并进项目主分支。合并成功后你会收到 GitHub 的邮件通知——至此你的第一次开源贡献正式完成。后续行动庆祝、巩固与进阶完成这一整套fork → clone → edit → pull request流程意味着你已掌握开源协作中最高频的标准工作流。教程建议接下来通过官方 Web 应用分享你的贡献成果在 Web 应用的项目列表中挑选带简单 issue如good-first-issue、help-wanted标签的真实开源项目继续练习系统学习更完整的开源贡献方法论可阅读仓库内的 docs/how-to-contribute-to-open-source-projects.md 综合指南。进阶资料Git 工作流场景文档一览完成基础流程后docs/additional-material/git_workflow_scenarios/additional-material.md 汇总了一系列进阶 Git 技术文档覆盖真实协作中几乎必然会遇到的场景场景文档适用时机修改最近一次提交amending-a-commit.md需要调整已做的提交改提交信息或补充遗漏改动且尚未 push配置 Git 用户信息configuring-git.md需要精细控制 Git 配置项保持 fork 与上游同步keeping-your-fork-synced-with-this-repository.md你的 fork 缺少上游仓库的新改动时把提交移动到其他分支moving-a-commit-to-a-different-branch.md提交落在了错误的分支上删除文件removing-a-file.md提交前需要从本地仓库移除文件删除分支removing-branch-from-your-repository.mdPull Request 合并后清理分支解决合并冲突resolving-merge-conflicts.md多人并行修改同一文件时回滚已推送的提交reverting-a-commit.md需要撤销已经 push 到远程的提交压缩多个提交squashing-commits.md评审者要求把多个提交合并为一个信息完整的提交撤销本地提交undoing-a-commit.md本地仓库状态混乱需要重置创建 .gitignorecreating-a-gitignore-file.md只提交必要文件忽略临时与构建产物存储凭据storing-credentials.md为仓库安全地存储认证凭据注意遵循工作单位的安全策略学习资源索引Useful-links-for-further-learning.md新手与进阶者查找技巧类网站与博客Gitflow 工作流gitflow.md了解基于分支模型的团队协作规范其中 keeping-your-fork-synced-with-this-repository.md 尤其值得关注它解释了开源协作中典型的三角工作流——上游公共仓库upstream、你的 GitHub fork、你的本地仓库三者之间的同步关系。核心命令链为git remote add upstream 上游仓库地址 # 将上游仓库注册为名为 upstream 的远程 git fetch upstream # 拉取上游最新提交 git rebase upstream/main # 将上游主分支的更新变基到本地主分支 git push origin main # 把同步后的主分支推送到自己的 fork图形化工具教程不熟悉命令行的替代方案如果你不习惯命令行操作仓库在 docs/gui-tool-tutorials 中提供了多款图形化工具的逐步教程覆盖 Fork → Clone → Branch → Commit → Push → Pull Request 的同样流程工具教程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此外docs/cli-tool-tutorials 还收录了git命令行与 GitHub CLIgh的专项教程以及 docs/translations/Translations.md 这一语言索引页方便不同语言背景的读者获取母语版教程。仓库内部视角教程背后的实践验证从仓库结构可以印证这套教程的真实性与可操作性Contributors.md已包含数千条来自世界各地贡献者的记录超过 5900 行每条记录形如- 名字。这意味着按教程提交名字 → 维护者合并的循环已被真实执行了数千次流程的每一步都经受了实际检验docs/translations中数十种语言的 README 翻译本身就是开源贡献的产物——任何读者都可以像修改Contributors.md那样通过翻译或修订文档为项目做贡献这是从练习贡献过渡到真实贡献的天然跳板进阶与 GUI 教程目录覆盖了从推送失败到合并冲突的各类真实故障场景说明教程体系在设计上就面向会出错的新手而非理想化的演示路径。总结first-contributions 提供了一条低门槛、零风险、可重复的贡献练习路径。按照本文梳理的六步流程——Fork、Clone、创建分支、修改并提交、Push、提交 Pull Request——你可以在几分钟内完成第一次真实开源贡献而仓库内的进阶文档、GUI 教程与多语言资源则为你从完成第一次走向持续参与开源提供了完整的后续学习地图。【免费下载链接】first-contributions✨ Help beginners to contribute to open source projects项目地址: https://gitcode.com/gh_mirrors/fi/first-contributions创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考