first-contributions 信德语指南解读:从 Fork 到 Pull Request 的首次开源贡献完整工作流
first-contributions 信德语指南解读从 Fork 到 Pull Request 的首次开源贡献完整工作流【免费下载链接】first-contributions✨ Help beginners to contribute to open source projects项目地址: https://gitcode.com/gh_mirrors/fi/first-contributions本文基于 docs/translations/README.sindhi.mdfirst-contributions 项目的信德语翻译版 README整理成文并结合仓库内的英文主文档 README.md、贡献者名单 Contributors.md 与附加材料目录系统讲解一条面向零基础新手、可直接照做的开源贡献路径。读完本文你将掌握fork → clone → branch → commit → push → pull request这条标准贡献工作流中的每一个命令及其作用并了解提交合并后还有哪些进阶 Git 操作可以继续学习。项目定位降低第一次贡献的心理门槛first-contributions 项目的核心立意非常朴素第一次做任何事都很难第一次向开源项目提交代码尤其如此——犯错并不是一件令人舒服的事。项目希望为刚接触开源的新贡献者打开一条低门槛的通道让新手能真正完成自己的第一次贡献而不仅仅是阅读教程。为此项目特意选择了一个无代码内容的提交目标Contributors.md当前仓库中该文件已积累了数千行贡献者名单。贡献者只需把自己的名字加进这份名单即可完整走一遍真实的开源贡献流程而不必担心写错代码。这一设计让实操环境取代了阅读教程正是项目文档所强调的读文章、看视频教程固然有帮助但真正在真实环境里动手做一遍学习效果要好得多。信德语版文档位于 docs/translations/README.sindhi.md英文原版为 README.md。若需阅读其他语言版本可查看 docs/translations/Translations.md 中的语言索引。准备工作确认 Git 环境并 Fork 仓库在开始之前需要确保本机已安装 Git。如果尚未安装请先根据对应平台的安装指南完成安装仓库内提供了 installing-git-ubuntu.md 与 installing-git-arch.md 两份针对 Ubuntu 和 Arch Linux 的安装文档。Fork 这个仓库Fork分叉是在不直接修改原仓库的前提下把仓库复制一份到自己的 GitHub 账号下。操作方式很简单打开 first-contributions 仓库页面点击页面顶部的Fork按钮GitHub 就会在你的账号下创建一份仓库副本。Fork 的意义在于你获得了一个可以自由写入的远程副本后续所有修改都可以先推送到自己的 Fork 上再通过 Pull Request 请求原仓库合并从而避免未经许可直接改动他人的项目。克隆仓库到本地Fork 完成后需要把远程副本克隆到本地机器进入你的 GitHub 账号打开刚 Fork 出来的仓库。点击Code按钮再点击复制图标将仓库地址复制到剪贴板英文原版 README 中还特别提示可以切换到 SSH 标签页复制 SSH 地址。打开终端执行克隆命令git clone 你刚复制的 URL其中你刚复制的 URL去掉引号就是你 Fork 出来的仓库地址。示例git clone https://github.com/this-is-you/first-contributions.git这里this-is-you是占位符实际应替换为你的 GitHub 用户名。执行后first-contributions 仓库的全部内容会被复制到你的电脑上。创建自己的功能分支克隆完成后先进入仓库目录cd first-contributions然后使用git switch命令创建并切换到一个新分支git switch -c your-new-branch-name示例分支名使用add-前缀是社区惯例因为这条分支的目的就是把你的名字添加进名单git switch -c add-alonzo-church分支名并不强制要求包含add-前缀但加上它能让分支用途一目了然便于他人审阅。兼容性提示如果执行git switch时出现switch is not a git command之类的错误说明你的 Git 版本较旧请改用git checkout的等价写法git checkout -b your-new-branch-name英文原版 README.md 同样提供了上述两种命令并指出git switch是较新版本 Git 推荐的分支切换方式。做出修改并提交把自己写进 Contributors.md修改文件用文本编辑器打开 Contributors.md把你的名字添加进去。文档特别强调不要加在文件开头或结尾而是加在文件中间任意位置。这一约定一方面是为了减少大量贡献者同时修改首尾行时产生的合并冲突概率另一方面也锻炼了编辑大文件的能力。保存文件后回到项目目录执行git status可以看到工作区出现了变更记录——这是 Git 对文件修改状态的实时反馈也是后续add、commit操作的基础。暂存与提交先把你创建的变更添加到暂存区git add Contributors.md再将暂存内容提交为一个 commit提交信息示例git commit -m Add your-name to Contributors list把your-name替换为你的真实名字即可。commit 是 Git 工作流的核心动作它把一组相关变更固化成一条带说明的记录形成项目历史中的一步。推送到 GitHub本地提交完成后需要把分支推送到远程即你 Fork 的仓库使用git pushgit push -u origin your-new-branch-name-u即--set-upstream的作用是建立本地分支与远程分支的追踪关系这样后续再执行git push时无需重复指定分支名。请把your-new-branch-name替换为你创建的分支名。推送报错怎么办英文原版 README 给出了两类常见推送错误的处理思路认证失败GitHub 已于 2021 年 8 月 13 日起移除了对密码认证的支持推送时需要使用 Personal Access Token 或 SSH 密钥。可先用git remote -v检查远程地址若远程地址是https://形式且反复提示用户名密码可改用 SSH 地址git remote set-url origin gitgithub.com:your-username/your_repo.gitSSH 密钥未配置需要先在 GitHub 账号中生成并添加 SSH 公钥才能使用gitgithub.com:...形式的远程地址。提交 Pull Request推送成功后回到 GitHub 上你自己的 Fork 仓库页面会看到一个Compare pull request按钮点击它然后提交 Pull RequestPR。提交后项目维护者会审查你的改动并在合适的时候把它合并进项目的主分支。合并完成后你会收到一封通知邮件。至此你已经完整走完了fork → clone → edit → pull request这条在真实开源协作中反复出现的标准工作流。提交之后分享、实践与继续深入分享与寻找更多练手项目首次贡献值得庆祝可以通过项目配套的 Web 应用把这次贡献分享给朋友和关注者。如果想继续练习代码类贡献项目还整理了带简单 issue 的项目清单可以从中挑选起步项目。附加学习材料仓库在 docs/additional-material/git_workflow_scenarios/additional-material.md 中汇总了一批针对已完成基础教程读者的进阶 Git 场景文档覆盖了贡献者高频遇到的真实问题场景文档解决的问题amending-a-commit.md修改最近一次尚未推送的提交如更正提交信息、补漏文件configuring-git.md配置用户信息等 Git 全局选项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.mdPR 合并后清理本地分支resolving-merge-conflicts.md解决合并冲突reverting-a-commit.md撤销已推送到远程的提交squashing-commits.md用交互式 rebase 把多个提交压缩成一个undoing-a-commit.md撤销/重置本地提交stashing-a-file.md暂存未提交的改动storing-credentials.md安全存储仓库凭据creating-a-gitignore-file.md创建.gitignore控制哪些文件不入库gitflow.md了解 Git Flow 分支模型rebase-vs-merge.md理解 rebase 与 merge 的差异与取舍这些文档与本文的核心教程构成了一条完整的学习阶梯先用一次真实的 PR 跑通协作流程再逐步掌握日常贡献中最常用的 Git 高级操作。不习惯命令行试试 GUI 教程信德语版文档与英文版一致为不熟悉命令行的读者准备了使用图形界面工具的教程覆盖多种主流客户端GitHub Desktop 教程Visual Studio 2017 教程GitKraken 教程Visual Studio Code 教程Atlassian Sourcetree 教程IntelliJ IDEA 教程这些教程与命令行教程走的是同一套 fork、clone、分支、提交、推送、PR 的流程只是操作载体从终端变成了图形界面适合偏好可视化操作的新手。小结first-contributions 的价值在于把第一次开源贡献这个心理门槛极高的动作拆解成了一条任何人都能照做的五步路径Fork把仓库复制到自己的 GitHub 账号Clone克隆到本地机器Branch创建独立的功能分支git switch -cCommit在 Contributors.md 中加入自己的名字并git add、git commitPush PRgit push -u origin推送到远程再发起 Pull Request 等待合并。完成这五步你就掌握了开源协作中最常见的工作流骨架而仓库内 docs/additional-material 下的进阶文档则为这条骨架补充了合并冲突、提交改写、分支同步等真实场景下的肌肉记忆。无论你未来参与哪个开源项目这套方法论都直接适用。【免费下载链接】first-contributions✨ Help beginners to contribute to open source projects项目地址: https://gitcode.com/gh_mirrors/fi/first-contributions创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

脊柱手术机器人神经规避与紧急制动系统设计解析

脊柱手术机器人神经规避与紧急制动系统设计解析

简介:一份文档系统梳理脊柱手术机器人安全策略设计,重点围绕术中神经规避算法与机械臂紧急制动系统,适用对象为医疗机器人研发工程师、手术导航算法研究者及机器人安全设计学习者。全文共515页、42个大章节,支持目录章节跳转与书签…

2026/9/19 16:04:13 阅读更多 →
灾备不是备份:RTO/RPO驱动的业务连续性设计

灾备不是备份:RTO/RPO驱动的业务连续性设计

简介:本资源是一份面向IT运维人员、系统架构师及灾备初学者的通用基础知识培训课件,聚焦灾备体系的核心概念、技术逻辑与落地要点,帮助读者厘清备份与容灾的本质区别与协同关系。课件系统讲解灾备定义、业务价值、RTO/RPO衡量标准&#xff0c…

2026/9/19 16:04:13 阅读更多 →
基于PLC的锚杆钻机智能可视化控制系统解析

基于PLC的锚杆钻机智能可视化控制系统解析

简介:针对传统液压锚杆钻机冲击参数依赖人工调节、自动化程度低等痛点,一份PDF技术论文提出了基于可编程控制器(PLC)、人机界面和变频器的智能可视化控制系统改造方案。资源面向PLC控制系统设计、矿山机械电气自动化及巷道支护技术…

2026/9/19 16:04:13 阅读更多 →

最新新闻

PPTX课件解构:学术英语视听说教学资产的自动化复用

PPTX课件解构:学术英语视听说教学资产的自动化复用

简介:本资源为《新世纪学术英语视听说》课程配套的Lesson级PPT课件,面向高校英语专业教师、语言类课程授课者及自主提升学术英语听说能力的学习者,有效解决课堂可视化教学素材匮乏、真实学术语境输入不足等实际问题。压缩包仅含1个71KB的.ppt…

2026/9/19 17:54:02 阅读更多 →
styled-components React Native `flex` 简写规范化修复:`flex: initial`、零基准与负值处理全解析

styled-components React Native `flex` 简写规范化修复:`flex: initial`、零基准与负值处理全解析

styled-components React Native flex 简写规范化修复:flex: initial、零基准与负值处理全解析 【免费下载链接】styled-components Fast, expressive styling for React. Server components, client components, streaming SSR, React Native—one API. 项目地址…

2026/9/19 17:54:02 阅读更多 →
UFS 3.1实战调试:从M-PHY信号到SCSI命令的全链路解析

UFS 3.1实战调试:从M-PHY信号到SCSI命令的全链路解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/19 17:54:02 阅读更多 →
STM32与MPU6050姿态检测:卡尔曼滤波实战与避坑指南

STM32与MPU6050姿态检测:卡尔曼滤波实战与避坑指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/19 17:54:02 阅读更多 →
Kilo Code 辅助开发实战:Android Studio 与 Flutter 环境配置及调试指南

Kilo Code 辅助开发实战:Android Studio 与 Flutter 环境配置及调试指南

1. 从一次真实的开发卡顿说起:Kilo Code 到底能帮上什么忙第一次接触 Kilo Code 是在一个 Flutter 混合开发项目里,当时团队要在已有的 Android 原生工程中嵌入 Flutter 模块,同时还得在 Android Studio 里保持代码补全、跳转、调试一条龙顺畅…

2026/9/19 17:54:02 阅读更多 →
BrewUI图形化Homebrew指南:解决安装失败与卸载残留

BrewUI图形化Homebrew指南:解决安装失败与卸载残留

说实话,我一开始对“BrewUI”是持保留态度的。Homebrew 在 macOS 上用命令行操作已经很成熟了,brew install、brew update打几个字母的事,为什么还要套一层图形界面?但当我真的装了 BrewUI,用它排查了一次 Intel Mac 上…

2026/9/19 17:53:01 阅读更多 →

日新闻

BP神经网络时序预测:滑窗长度与多窗口平均策略

BP神经网络时序预测:滑窗长度与多窗口平均策略

简介:面向机器学习、深度学习与数据建模学习者的一份完整研究文献,聚焦BP神经网络在农业产量预测中的应用。文档以1980—2018年全国棉花产量为样本,系统讲解数据归一化处理、激活函数原理、多层神经网络结构搭建及训练流程,展示敏…

2026/9/19 0:00:30 阅读更多 →
Transformer训练实时监控实战:基于MindSpore的损失曲线可视化方案

Transformer训练实时监控实战:基于MindSpore的损失曲线可视化方案

上个月调一个Deformable DETR模型,在单卡上要跑将近两天。第二天早上我下意识打开终端翻日志,发现loss从凌晨两点就开始往上爬,一路从0.8涨到1.35,整整六个小时没人发现。那六个小时的训练不仅白跑,还霸占着卡——等于…

2026/9/19 0:00:30 阅读更多 →
OpenCloud 中的 Go 类型安全转换库 spf13/cast:从零值回退到泛型 API 的完整实战指南

OpenCloud 中的 Go 类型安全转换库 spf13/cast:从零值回退到泛型 API 的完整实战指南

OpenCloud 中的 Go 类型安全转换库 spf13/cast:从零值回退到泛型 API 的完整实战指南 【免费下载链接】opencloud 🌤️ OpenCloud is the open source platform for file management, sharing and collaboration. Simple and sovereign. 项目地址: htt…

2026/9/19 0:00:30 阅读更多 →

周新闻

AI SDK Harness 依赖更新指南:掌握 harness 包 SDK 依赖的升级、桥接同步与一致性校验

AI SDK Harness 依赖更新指南:掌握 harness 包 SDK 依赖的升级、桥接同步与一致性校验

AI SDK Harness 依赖更新指南:掌握 harness 包 SDK 依赖的升级、桥接同步与一致性校验 【免费下载链接】ai The AI Toolkit for TypeScript. From the creators of Next.js, the AI SDK is a free open-source library for building AI-powered applications and ag…

2026/9/19 3:59:36 阅读更多 →
Refine v5 Ant Design NumberField 组件实战:基于 Intl 的本地化数字格式化

Refine v5 Ant Design NumberField 组件实战:基于 Intl 的本地化数字格式化

Refine v5 Ant Design NumberField 组件实战:基于 Intl 的本地化数字格式化 【免费下载链接】refine A React Framework for building internal tools, admin panels, dashboards & B2B apps with unmatched flexibility. 项目地址: https://gitcode.com/GitH…

2026/9/19 3:53:08 阅读更多 →
Flutter应用改名全指南:从Android到iOS的配置与工具实践

Flutter应用改名全指南:从Android到iOS的配置与工具实践

刚接一个外包项目时,甲方要求把工程里临时用的应用名改成正式产品名。我本来觉得“改名”这种小事,打开配置文件改一行不就完了?结果真动手才发现,Flutter项目里“应用名称”根本不是一处配置,而是一整套散落在 Androi…

2026/9/19 4:02:43 阅读更多 →

月新闻

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能分类:[AI/大模型]细分主题:AI 增强型 CI/CD 流水线自动化与 GitOps 实践:Agent 工作流、工具调用与任务拆解:从原型到生产的验收清单很多团队在尝试用大…

2026/9/16 22:31:27 阅读更多 →
容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场分类:[工程技术]细分主题:Kubernetes 生产环境运维与排障实战:可复制的项目复盘模板与决策记录大部分团队的事故复盘报告,最后都变成了躺在 Confluence 或钉…

2026/9/19 17:50:38 阅读更多 →
容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步

容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步

容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步分类:[工程技术]细分主题:Docker 容器化技术与镜像安全管理:核心链路的逐步实现与关键代码取舍面对一个积累了五六年历史包袱的单体架构应用(包含 Web 接口、后台…

2026/9/16 22:32:59 阅读更多 →