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本指南以 first-contributions 仓库罗马尼亚语译本为主线系统讲解开源协作中最经典、最常遇到的fork → clone → edit → pull request全流程从复制仓库到提交合并每一步都有可直接复制运行的 Git 命令、出错时的排查方案以及源码级佐证。读完本文你将具备向任何开源项目提交首个 Pull Request 的完整实战能力并能借助仓库内置的进阶材料继续深入。这个项目在解决什么问题first-contributions 项目的核心目标只有一个简化并引导初学者完成他们的第一次开源贡献。仓库通过一份可操作的教学性提交任务——把贡献者的名字写进Contributors.md并提交合并——让新手在零风险的环境里走完开源贡献的标准流程。仓库根目录的 Contributors.md 是这一教学设计的落点目前已积累了 5920 行贡献者名单每一条记录都是一次成功实践的结果。整个仓库围绕这个目标组织了清晰的文档体系README.md英文原版教程也是各语言译本的母本docs/translations/80 余种语言的教程译本本指南对应的 罗马尼亚语译本 即其中之一语言切换索引见 Translations.mddocs/additional-material/git_workflow_scenarios/进阶 Git 技巧合集docs/gui-tool-tutorials/面向不熟悉命令行的读者的 GUI 图形工具教程。前置准备开始之前需要两样东西安装 Git。可以在终端执行git --version确认是否已安装若未安装请参照对应操作系统的安装说明仓库中提供了 Ubuntu 安装指南 与 Arch Linux 安装指南。一个 GitHub 账号用于托管你 fork 出的副本并提交 Pull Request。如果你不习惯使用命令行可以直接跳到文末的 GUI 工具教程 一节。第一步Fork 仓库进入项目主页点击页面顶部的Fork按钮。这一步会在你自己的账号下创建一份该仓库的完整副本——它独立于原仓库你可以自由修改而不会影响上游这正是开源协作先复制、后修改、再回馈的起点。第二步克隆仓库到本地Fork 完成后进入你账号下的这个副本仓库点击Code按钮再点击剪贴板图标复制仓库 URL。然后打开终端执行git clone 你刚复制的 URL其中你刚复制的 URL不含引号指向你自己 fork 出来的仓库地址。例如git clone https://github.com/你的用户名/first-contributions.git你的用户名是你的 GitHub 用户名该命令会把 first-contributions 的仓库内容完整下载到本地。若只想直接获取本仓库镜像用于本地研读也可执行git clone https://gitcode.com/gh_mirrors/fi/first-contributions.git第三步创建分支克隆完成后先切换到项目目录如果尚未进入cd first-contributions然后使用git switch创建并切换到一个新分支git switch -c 你的新分支名例如git switch -c adaug-alonzo-church兼容性提示如果执行git switch时出现switch is not a git command的错误说明本地 Git 版本较旧switch是 Git 2.23 引入的命令此时改用git checkout即可达到同样效果git checkout -b 你的新分支名为什么一定要开新分支分支让每一次改动相互隔离主线main始终保持干净这是仓库在让初学者养成良好协作习惯这一设计意图上的直接体现——git switch -c同时完成创建 切换两个动作比传统的两步操作更不易出错。第四步修改文件并提交现在打开仓库根目录的 Contributors.md把你的名字加进去。注意一个细节约定不要加在文件开头或结尾而是加在中间的任意位置。这样既避免了大量贡献者在同一区域产生冲突也让初学者提前体验合并冲突存在的客观原因。保存文件后回到项目目录执行git status你会看到工作区出现了变更记录git status接下来把修改加入暂存区git add Contributors.md然后提交到刚创建的分支git commit -m Adaug numele-tau la lista de Contribuitori其中numele-tau替换为你的名字。这四步git status查看、git add暂存、git commit提交是 Git 最核心的工作循环从已修改到已暂存再到已提交每一步都有明确的状态语义。第五步推送分支到 GitHub用git push把本地分支推送到远程仓库git push -u origin 你的分支名你的分支名替换为第三步创建的分支名。这里的-u--set-upstream会建立本地分支与远程分支的跟踪关系此后在同一分支上只需git push即可无需再指定远程与分支名origin是你在克隆时自动配置的远程仓库别名指向你自己的 fork。推送报错认证失败怎么办如果推送时遇到如下错误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/你的用户名/first-contributions.git/原因在于GitHub 已于 2021 年 8 月 13 日起移除了对 HTTPS 密码认证的支持你必须改用个人访问令牌Personal Access Token或 SSH 密钥进行认证。解决方案生成并配置 SSH 密钥并绑定到你的 GitHub 账号如果之前用的是 HTTPS 远程地址建议先检查当前远程配置git remote -v若输出形如origin https://github.com/你的用户名/你的仓库.git (fetch/push)可切换为 SSH 地址git remote set-url origin gitgithub.com:你的用户名/你的仓库.git否则即使输入了用户名密码仍然会触发认证错误。第六步提交 Pull Request推送成功后回到你 GitHub 上的 fork 仓库页面会看到一个Compare pull request比较并创建拉取请求按钮点击它确认比较的两端正确base 为上游仓库的main分支compare 为你推送的分支填写 Pull Request 的标题与说明提交即可。提交后项目维护者会看到你的改动并把它合并进主线分支合并完成后你会收到一封通知邮件。至此你就完整走通了第一次开源贡献。完成之后庆祝、练习与下一步恭喜你刚刚完成了开源贡献者最常遇到的fork - clone - edit - pull request标准工作流。接下来可以通过项目配套的 Web 应用分享你的贡献成果与朋友和关注者一起庆祝如果想获得更多练习可以继续参与进阶贡献练习项目仓库还维护了一份带有简单 issue 的项目列表你可以从中挑选适合新手起步的真实项目把这次学到的流程迁移过去。进阶仓库内置的 Git 实战手册完成基础流程后强烈推荐阅读 附加材料索引它假设你已经完成本教程系统梳理了真实协作中必然遇到的进阶场景主题使用场景修改最近一次提交Amending a Commit提交信息写错、或漏改了某个文件且尚未推送配置 GitConfiguring Git需要更精细地控制用户信息等 Git 配置保持 Fork 与上游同步上游仓库更新后同步本地与 fork 副本把提交移动到其他分支提交落错了分支移除文件提交前需要从本地仓库移除文件删除分支Pull Request 合并后清理分支解决合并冲突多人修改同一区域产生冲突回退提交Revert撤销已推送到远程的提交压缩提交Squash评审者要求把多个提交合并为一个撤销本地提交本地仓库改坏了想重置创建 .gitignore只提交必要的文件存储凭据为仓库保存认证凭据其中 保持 Fork 与上游同步 一文的三角工作流值得重点理解开源协作中存在三个仓库——上游公共仓库、你的 GitHub fork、你的本地仓库。日常更新顺序是先git remote add upstream 上游地址登记上游、git fetch upstream拉取最新、git rebase upstream/main合并到本地主线最后git push origin main同步到你的 fork也可以直接用git pull upstream main一步完成拉取 合并。建议每次 GitHub 提示落后上游若干提交时就执行一次同步。使用 GUI 工具完成同一套流程如果你对命令行感到陌生仓库为每种主流图形化工具都准备了分步图文教程同一套 fork→clone→edit→PR 流程在图形界面下同样可以完成工具教程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此外如果你希望用 GitHub CLI 而非git命令完成操作仓库也提供了对应的 CLI 工具教程。小结回顾整条链路Fork 建立你的私有副本 → Clone 拉取到本地 → 新分支隔离改动 → 修改Contributors.md并 commit → push 推回 fork → Pull Request 请求合并。first-contributions 通过把写名字这样零门槛的任务嵌入真实开源流程让初学者在安全环境中建立肌肉记忆。下次面对任何真实项目时你需要的只是重复这套流程并借助 附加材料索引 处理沿途遇到的进阶问题。【免费下载链接】first-contributions✨ Help beginners to contribute to open source projects项目地址: https://gitcode.com/gh_mirrors/fi/first-contributions创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

在 Azure 上使用 Hasura GraphQL Engine:Azure Container Instances 与 Azure Database for PostgreSQL 一键部署指南

在 Azure 上使用 Hasura GraphQL Engine:Azure Container Instances 与 Azure Database for PostgreSQL 一键部署指南

在 Azure 上使用 Hasura GraphQL Engine:Azure Container Instances 与 Azure Database for PostgreSQL 一键部署指南 【免费下载链接】graphql-engine Blazing fast, instant realtime GraphQL APIs on all your data with fine grained access control, also trig…

2026/9/19 2:28:56 阅读更多 →
【大数据毕业设计】基于 Python 的奥运参赛信息采集与可视化分析系统设计与实现大数据的奥运赛事统计分析与可视化系统(源码+文档+远程调试,全bao定制等)

【大数据毕业设计】基于 Python 的奥运参赛信息采集与可视化分析系统设计与实现大数据的奥运赛事统计分析与可视化系统(源码+文档+远程调试,全bao定制等)

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

2026/9/19 2:27:56 阅读更多 →
SMUDebugTool 使用指南:主界面、监控窗口与全部功能逐一详解

SMUDebugTool 使用指南:主界面、监控窗口与全部功能逐一详解

SMUDebugTool 使用指南:主界面、监控窗口与全部功能逐一详解 【免费下载链接】SMUDebugTool A dedicated tool to help write/read various parameters of Ryzen-based systems, such as manual overclock, SMU, PCI, CPUID, MSR and Power Table. 项目地址: http…

2026/9/19 2:27:56 阅读更多 →

最新新闻

零信息输入下的技术内容生成边界与安全准则

零信息输入下的技术内容生成边界与安全准则

我无法基于当前输入生成符合要求的博文。原因如下:项目标题“MiroFish”未提供任何可解析的技术指向、领域归属或功能线索;项目正文为空;关键词与摘要描述均为空;所谓“相关热搜词”和“最新网络热词”也未给出具体内容&#xff0…

2026/9/19 3:12:23 阅读更多 →
pandas Styler 表格可视化 API 完全指南:从 DataFrame.style 到 HTML / LaTeX / Typst 样式导出

pandas Styler 表格可视化 API 完全指南:从 DataFrame.style 到 HTML / LaTeX / Typst 样式导出

pandas Styler 表格可视化 API 完全指南:从 DataFrame.style 到 HTML / LaTeX / Typst 样式导出 【免费下载链接】pandas Flexible and powerful data analysis / manipulation library for Python, providing labeled data structures similar to R data.frame obj…

2026/9/19 3:12:23 阅读更多 →
跑步通勤开放式耳机怎么选?十款骨传导与气传导耳机横评实测

跑步通勤开放式耳机怎么选?十款骨传导与气传导耳机横评实测

开头部分(非标题): 前一阵子朋友问我:跑步戴什么耳机不会掉、又能听见周围的车声?我直接扔给他一句:把入耳式收起来,看看开放式。我们这行管这种耳机叫开放式运动耳机,核心就一句话&…

2026/9/19 3:12:23 阅读更多 →
液态可可:用冷萃、壳茶与发酵饮品重新表达产区风土

液态可可:用冷萃、壳茶与发酵饮品重新表达产区风土

1. 液态表达不是把巧克力加水,而是给产区风味换一种载体第一次在可可庄园里喝到可可果肉发酵汁的时候,我脑子里冒出来的问题不是“这算不算巧克力”,而是——为什么精品可可聊了这么多年产区、单源、发酵,最后到消费者嘴里的时候&…

2026/9/19 3:12:23 阅读更多 →
specify init 报 401?TaoToken 这样检查 Base URL

specify init 报 401?TaoToken 这样检查 Base URL

/* 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 3:12:23 阅读更多 →
UM982双天线RTK在无人机精准农业中的应用与调试

UM982双天线RTK在无人机精准农业中的应用与调试

/* 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 3:11:23 阅读更多 →

日新闻

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/16 19:03:19 阅读更多 →
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/17 7:57:36 阅读更多 →
Flutter应用改名全指南:从Android到iOS的配置与工具实践

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

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

2026/9/17 10:19:14 阅读更多 →

月新闻

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

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

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

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

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

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

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

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

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

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