
使用 GitKraken 完成第一次开源贡献first-contributions 项目的 fork → clone → edit → PR 实战指南【免费下载链接】first-contributions✨ Help beginners to contribute to open source projects项目地址: https://gitcode.com/gh_mirrors/fi/first-contributions本篇指南以 first-contributions 仓库提供的 GitKraken 图形界面教程为主体面向完全没有命令行经验的开源新手讲解从 Fork 仓库、Clone 到本地、创建分支、修改 Contributors.md、暂存与提交Stage/Commit、Push 到远程、再到提交 Pull Request 的完整流程。读完本文你将能够在零命令行操作的前提下借助 GitKraken 完成一次真实的开源贡献并理解每个按钮背后对应的 Git 操作原理。教程背景与定位first-contributions 项目的定位正如其 README 所述“简化并引导新手完成他们的第一次开源贡献”见 README.md。项目把大量同类 GUI 教程按工具拆分存放于 docs/gui-tool-tutorials 目录其中英文原版教程为 gitkraken-tutorial.md并被翻译成包括中文、乌尔都语在内的多种语言。本文讲解的关联文档 github-desktop-urdu.md 是 GitKraken 版教程的乌尔都语翻译其内容骨架与英文原版完全一致本文即围绕这套操作流程展开并补充仓库内的源码级佐证与进阶学习路径。教程所面向的目标文件 Contributors.md 在仓库中真实存在且规模可观全文 5920 行是历届练习者不断追加名字形成的贡献者名单——这正是“把你的名字加进去”这个练习的可视化成果。环境准备安装 GitKraken 并登录 GitHub教程的第一步是下载并安装 GitKraken然后打开它。安装完成后首次启动会出现 “Welcome to GitKraken” 对话框此时需要使用 GitHub 账号登录并授权 GitKraken 访问你的 GitHub 账户。这一步授权是后续 Clone、Push 操作能够读取你的远程仓库的前提。可选通过菜单File → Preferences设置项目目录将 GitKraken 的项目根目录指向你存放本地仓库local repositories的目录。这样你 Fork 并 Clone 下来的仓库会统一收纳在固定位置便于管理。与命令行方式不同GitKraken 将 Git 的认证、远程仓库发现等底层细节全部封装在图形界面中这也是本项目为不熟悉命令行的用户单独维护 GUI 教程系列的原因README 中明确提示“如果你对命令行不熟悉这里有使用 GUI 工具的教程”见 README.md。第一步Fork 仓库在 first-contributions 仓库页面的右上角点击Fork按钮。这一操作会在你自己的 GitHub 账号下生成一份该仓库的完整副本之后的修改全部发生在这份副本中不会影响原仓库。从 Git 原理上讲Fork 相当于在服务端为你的账号复制了一套仓库对象后续 Clone、Push 都以这份副本为远端基础而最终要通过 Pull Request 把改动合并回原仓库。第二步在 GitKraken 中 Clone 仓库操作路径为File → Clone Repo具体步骤在右侧窗格中选择GitHub.comGitKraken 会读取你已授权账号下的仓库列表。在你的用户名下找到first-contributions仓库并选中。检查窗格底部显示的本地路径local path确认仓库将被保存到你希望的位置。确认无误后点击“Clone the repo!”。这一步对应命令行中的git clone把你在第一步 Fork 出来的远程副本完整下载到本地。README 中的命令行流程展示了同样的操作见 README.md而 GUI 方式会自动完成远程地址的填充与认证。第三步创建分支 add-your-name点击工具栏上的branch按钮将新分支命名为 “add-your-name” 的变体例如add-william-sutton即“add-”前缀加上你的名字。分支是 Git 协作的核心机制在独立分支上修改不会影响主线main branch也让审查者能清晰识别这次贡献的归属。命令行对照为git switch -c add-alonzo-church见 README.md。第四步修改 Contributors.md 并提交Stage / Commit这是整个练习的核心操作分为三个子步骤1. 编辑文件在文本编辑器中打开 Contributors.md把自己的名字添加到文件中然后保存。教程推荐把名字加在文件中间任意位置而不是开头或结尾——这样每一位练习者都能看到自己名字前后的其他贡献者形成“大家都在同一条名单上”的参与感。2. 审查与暂存Stage保存文件后GitKraken 界面会立即显示出变更。你会看到一条标记为 “// WIP”Work In Progress的最新提交条目以及被修改的文件数量和变更类型。此时需要审查Review逐个查看被修改的文件确认改动内容符合预期。暂存Stage决定哪些文件变更要纳入这次提交。GitKraken 提供两种方式“Stage all changes”暂存所有被修改的文件或“Stage File”只暂存单个文件。从 Git 原理看Staging 对应命令行中的git add其作用是把工作区中的文件变更放入暂存区index精确告诉 Git“这次提交要包含哪些内容”。README 的命令行流程同样强调这一点见 README.md。3. 提交Commit编写一个清晰、有描述性的提交信息教程推荐格式Add your-name to Contributors list例如Add William Sutton to Contributors list。确认信息无误后点击commit按钮你的改动便已保存到本地仓库local repository的当前分支中。需要特别留意的是 GitKraken 的Discard丢弃功能如果你改变主意可以 Unstage 取消暂存也可以直接 Discard 丢弃这些变更。但教程明确警告Discard 是破坏性操作会永久删除所选改动只有在确定不想要这些变更时才应该使用。第五步Push 到 GitHub点击工具栏上的Push按钮将本地分支推送到远程仓库。推送时可以选择目标分支若希望改动直接反映在 main主分支则推送到 origin 的对应分支更常规的做法是推送到你第三步创建的add-your-name分支保持主分支整洁。这一步对应命令行中的git push -u origin your-branch-name见 README.md作用是把你本地的提交同步到 GitHub 上你的 Fork 副本中使改动进入可被审阅的状态。第六步提交 Pull RequestPush 完成后前往 GitHub 上你自己的 Fork 仓库页面会看到Compare pull request按钮点击进入然后提交 Pull Request。PR 是开源协作的请求合并机制你通过 PR 请求原仓库维护者审查并合并你在add-your-name分支上的改动。教程说明PR 提交后维护者会把改动合并进项目的主分支合并完成后你会收到一封通知邮件——至此一次完整的开源贡献闭环完成。一次完整的贡献旅程fork → clone → edit → PR完成上述步骤后你已经走完了开源贡献者最常遇到的标准工作流fork → clone → edit → PR这是几乎所有 GitHub 协作项目的通用协作范式先在自己的账号下 Fork 副本Clone 到本地开发在功能分支上编辑提交最后通过 PR 请求合入上游。无论你以后参与什么项目这个流程骨架都保持一致变化的只是具体工具CLI 或 GUI与仓库内容。深入GUI 操作背后的命令行对照为了帮助理解 GitKraken 各按钮的真实语义这里把本教程各步骤与 README.md 中的命令行流程做一次对照本教程 GUI 操作对应 Git 命令作用Fork 按钮GitHub 网页操作在账号下创建远程副本File → Clone Repogit clone url把远程副本下载到本地工具栏 Branch 按钮git switch -c branch创建并切换到新分支Stage File / Stage all changesgit add Contributors.md把变更放入暂存区Commit 按钮git commit -m Add your-name to Contributors list把暂存内容固化为一次提交Push 按钮git push -u origin your-branch-name推送本地提交到远程Compare pull requestGitHub 网页操作发起合并请求掌握这层对应关系后即使日后切换到命令行也能清楚地知道每一步在做什么。进阶学习常见的 Git 工作流场景完成第一次贡献只是起点。仓库在 docs/additional-material/git_workflow_scenarios/additional-material.md 中整理了新手提交 PR 前后最常用到的一系列进阶场景直接与本次练习衔接同步 Fork当原仓库upstream有了新提交需要让本地与 Fork 保持同步参考 keeping-your-fork-synced-with-this-repository.md修改提交Amend如果 commit 信息写错或漏改了文件可以在 Push 到远程之前修改最近一次提交参考 amending-a-commit.md压缩提交Squash当审查者要求把多次提交合并成一条信息清晰的提交时使用交互式 rebase参考 squashing-commits.md解决合并冲突Merge Conflicts多人同时修改同一文件时可能产生冲突参考 resolving-merge-conflicts.md撤销与回退本地提交出错可参考 undoing-a-commit.md已推送的提交需要回退可参考 reverting-a-commit.mdPR 合并后清理PR 合入后可删除已无用的本地与远程分支参考 removing-branch-from-your-repository.md。结语借助 GitKraken 这类图形界面工具第一次开源贡献不再需要先掌握命令行语法。按本文路线完成 Contributors.md 的修改并成功提交 PR 后你不仅拥有了一个真实的贡献记录也建立了对fork → clone → edit → PR协作范式的肌肉记忆。接下来可以沿着 additional-material.md 的进阶路径继续打磨 Git 技能并尝试把同样的流程应用到其他开源项目中。【免费下载链接】first-contributions✨ Help beginners to contribute to open source projects项目地址: https://gitcode.com/gh_mirrors/fi/first-contributions创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考