ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

90DaysOfDevOps 第 40 天:代码的社交网络——GitHub 仓库导航与 Fork 协作实战指南

90DaysOfDevOps 第 40 天:代码的社交网络——GitHub 仓库导航与 Fork 协作实战指南 文档/教程【免费下载链接】90DaysOfDevOpsThis repository started out as a learning in public project for myself and has now become a structured learning map for many in the community. We have 3 years under our belt covering all things DevOps, including Principles, Processes, Tooling and Use Cases surrounding this vast topic.项目地址https://gitcode.com/gh_mirrors/90/90DaysOfDevOps点击查看免费下载本篇是 #90DaysOfDevOps 挑战第 40 天的技术指南围绕代码的社交网络Social Network for Code这一主题系统讲解 GitHub 这一基于 Git 的代码托管与协作平台从登录首页、个人主页、仓库视图到 Issues、Pull Requests、GitHub Actions 等核心功能面板再深入 Fork复制仓库→ Clone克隆到本地→ 修改 → 贡献Pull Request的完整开源协作流程并对比 GitLab、BitBucket 等其他 Git 托管服务。读完本文你将掌握在 GitHub 上浏览项目、管理仓库、以及用 Fork Clone PR 的方式参与开源协作的完整实战路径。为什么叫代码的社交网络在第 39 天掌握了 Git 版本控制的本地操作之后我们自然会问代码如何与他人共享、协作答案就是本文的主角——基于 Git 的代码托管服务。GitHub、GitLab、BitBucket 这类平台之所以被称作代码的社交网络是因为它们不只是把代码放到服务器上还为开发者提供了沟通与协作的社交属性你可以关注他人的项目、提出问题、提交代码、参与讨论就像在社交网络上关注博主并参与互动一样。而 #90DaysOfDevOps 挑战本身就是一个绝佳的实践场——本仓库正是通过 GitHub 组织起来的公开学习项目见 2022/Days 目录下按天组织的 90 篇学习文档。接下来的内容我们将运用前几日学到的 Git 知识把数据副本分别推送到各主流 Git 服务上先以 GitHub 为主线完成一次完整演练。GitHub最流行的 Git 代码托管平台GitHub 是一个基于 Web 的 Git 托管服务最常见的用途是让软件开发者存储代码。它在 Git 版本控制能力之上叠加了大量功能源码管理Source Code Management、团队与开源贡献者之间的便捷沟通、以及面向编码的社交功能——这正是社交网络标题的由来。GitHub 于 2007/2008 年创立2018 年起成为微软Microsoft旗下产品平台用户规模巨大是开发者日常最常用的代码托管平台之一采用免费Free tier与多级付费Team、Enterprise 等的定价模式本文演练基于免费套餐。GitHub 核心功能清单功能说明代码仓库Code Repository存储与管理源代码的核心单元支持公开或私有Pull Requests向仓库提交变更、请求维护者合并的协作机制项目管理工具集Issues用 Issue 追踪工作、记录需求与缺陷CI/CD 流水线GitHub Actions在仓库内直接构建、测试、部署代码并自动化流程GitHub 登录首页长什么样首次登录 GitHub 账户后你会看到由大量组件widgets组成的首页主要区域包括All Activity全部动态展示你的仓库或所属组织/账户相关的活动全貌代码仓库列表展示你自己拥有或近期交互过的仓库可快速新建或搜索仓库最近活动Recent activity最近创建或参与的 Issues、Pull Requests推荐仓库右侧栏根据你的近期活动或自有项目推荐可能感兴趣的仓库。值得注意的是首页的信息流feed功能对于在特定项目中与社区互动非常有用——例如观察自己关注的仓库是否有新 Issue、新 PR这本身就是代码社交的一部分。个人主页Profile与仓库列表点击右上角头像下拉菜单选择Your Profile即可进入个人主页。默认情况下主页比较朴素但你可以在 README 或集成配置中附加内容——本挑战作者就在个人主页集成了最近博客文章与最新视频的动态展示功能。个人主页是向同行展示你正在进行的项目的名片。从个人主页继续下钻就到达 GitHub 的基本组成单元——仓库Repositories。这里会列出你拥有的全部仓库私有仓库也会出现在该列表中。仓库视图GitHub 的核心交互界面以 #90DaysOfDevOps 仓库为例进入仓库后你会看到中间主区域展示仓库内的文件与文件夹结构即代码主体底部自动渲染展示readme.md仓库 README 内容右侧 About 区域仓库的描述与用途说明About 下方Star标星、Fork复制、Watch关注数量统计。继续向下滚动还能看到Releases版本发布本仓库中对应挑战的 Go 语言部分、Contributors贡献者列表以及Languages语言构成对应挑战中不同的技术章节。仓库顶部标签栏Tabs逐一解读仓库顶部的标签栏是浏览仓库的关键导航可根据需要增删。下面按文档顺序逐一说明Code代码默认视图即上文介绍的文件树 README 视图随时可快速跳回Issues问题在 GitHub 上追踪工作与开发进度的工具。对 #90DaysOfDevOps 这类内容仓库Issue 常被用来提补充图示修正拼写等改进项甚至记录需要中文版本这类社区需求。提 Issue 时应尽量详细、具体便于维护者理解和处理Pull Requests拉取请求告诉维护者你对某个分支推送了哪些变更。常见场景是某人 fork 了你的仓库做了 bug 修复、功能增强或拼写修正后通过 PR 请求合并本仓库中有大量这类贡献Discussions讨论适合引导内容学习旅程、让社区成员围绕挑战的各个章节展开讨论Actions自动化直接在仓库内构建、测试、部署代码是挑战后续 CI/CD 章节将重点介绍的内容Projects项目看板把 GitHub 当作项目管理工具搭建 Kanban 风格的表格/看板将 Issues 与 PR 关联起来获得任务全局可见性Wiki百科为项目撰写路线图、当前状态、故障排查或操作指南等更完整的文档Security安全定义贡献者安全策略、配置代码扫描例如防止代码中泄露密钥等环境变量Insights洞察/统计提供仓库的活动量、提交、Issue 等指标以及仓库访问流量统计左侧还有更细粒度的指标列表Settings设置管理仓库的运转方式例如设置协作者maintainers、集成与各类仓库策略。仓库中的自动化实战GitHub Actions 的真实用例原文档提到作者通过 GitHub Actions 自动抓取最新博客文章与视频更新个人主页并预告 Actions 将在 CI/CD 章节深入讲解。在本仓库中可以找到大量真实运行的 GitHub Actions 工作流作为佐证它们都位于 .github/workflows 目录deploy-blog-posts.yml在每次向main分支推送时将Days/**/*.md文章自动发布/更新到 dev.to 平台并通过secrets.DEVTO_TOKEN与secrets.GITHUB_TOKEN完成鉴权PR 场景下还会以dry_run模式预览变更send-tweet.yml在每次 push 时通过ethomson/send-tweet-actionv1自动发送一条带提交消息的推文使用secrets.TWITTER_CONSUMER_API_KEY等四个密钥完成 Twitter API 鉴权其余还包括Auto_message_on_creatingissues.yml、Auto_message_on_pr_open.yml、Auto_message_on_pr_merge.yml、welcome_workflow.yaml社区互动自动回复、blog-post-validation.yml文章校验、deploy-pages.ymlPages 部署与web-app-deploy.yml等。这充分印证了 GitHub Actions 的价值无需离开仓库就能通过 YAML 工作流把构建、测试、部署与社区自动化发推、欢迎消息、自动回复全部串联起来这也解释了为什么文档称 GitHub 远不止是一个源码仓库。Forking复制一份属于自己的仓库为什么要 Fork开源协作的第一步往往是 Fork复制。设想这样的场景你想修改某个仓库比如修一个 bug或者把代码改造成适合自己用例的样子——但你又不能直接改动原作者的仓库。此时可以 Fork 该仓库Fork 就是一份仓库的副本允许你自由实验、任意改动且不影响原项目。Watch / Fork / Star 三件套在任意仓库页面右侧都有三个关键按钮按钮含义Watch关注仓库有变动时接收更新通知Fork复制创建该仓库的一份副本到你的账户下Star标星表达我觉得你的项目很酷执行 Fork 操作从首页推荐或任意仓库进入仓库页面点击Fork按钮若你属于多个组织需选择 Fork 的目标位置个人账户或某个组织完成后你的账户下便出现一份完全属于你、可自由修改的仓库副本。这份副本正是后续 Pull Request 流程的起点将在第 41 天开源工作流中展开见 2022/ja/Days/day41.md。Clone把 Fork 副本拉到本地仓库在网站上但真正高效的开发发生在本地 IDE 里。要获得仓库的本地副本执行Clone克隆它会让你在本地工作然后把变更推回你 Fork 的副本。获取代码副本有几种途径GitHub DesktopGitHub 官方可视化桌面客户端可在图形界面中跟踪变更、在本地与 GitHub 之间执行 push/pullHTTPS URL最常见的命令行方式。命令行 Clone 步骤# 进入你希望存放仓库的目录 cd /path/to/your/directory # 使用 HTTPS URL 克隆url 为仓库 Code 下拉菜单中提供的 HTTPS 地址 git clone url克隆完成后可以用 VSCode或任意习惯的 IDE打开本地副本进行编辑在本地修改文件例如替换 README 中的若干链接回到 GitHub 检查仓库中的readme.md即可看到刚才的本地变更已经体现需先 commit 并 push 到 Fork 副本如果这个变更只是你自己使用到此即可结束但如果这是一个 bug 修复或有价值的改进你可以通过Contribute贡献按钮发起 Pull Request通知原仓库维护者审核并决定是否合并你的变更。从代码结构可以推断本仓库的 90 天内容正是通过这种 Fork → Clone → 修改 → PR 的流程持续获得社区贡献的——文档中提到贡献者列表中包含了大量社区成员参与拼写修正与事实核查而 .github/workflows/Auto_message_on_pr_open.yml 等自动化工作流的存在也说明仓库在通过 Actions 高效承接外部 PR。GitHub 之外GitLab、BitBucket 与自托管选择Git 托管服务并非只有 GitHub。在工作中你还会遇到GitLab、BitBucket等服务它们同样是基于 Git 的服务但各有差异GitLab常见的有自托管Self-hosted / 社区版与 SaaS 托管两种形态被许多企业作为内部代码平台BitBucketAtlassian 旗下的 Git 托管服务与 Jira、Confluence 等产品生态深度集成托管形态对比你可能会遇到GitLab 自托管 vs GitHub Enterprise这类选择——GitHub 以 SaaS 免费/付费套餐为主GitLab 则把自托管作为其特色选项。选择哪一家通常取决于团队已有的工具链如 Atlassian 生态 vs 微软生态、合规要求是否必须自托管以及定价策略。后续学习路径与资料方向本文内容对应挑战Git 与版本控制章节的收尾部分明天2022/ja/Days/day41.md将深入开源工作流完整走一遍 Fork → Clone → 修改 → 测试 → Push → Pull Request 的贡献闭环。原文档还推荐了一系列按主题组织的外部学习资料方向包括GitLab 入门面向初学者的完整教程BitBucket 教程官方教程播放列表版本控制基础什么是版本控制、版本控制系统的类型Git 实战Git 新手教程、Git 专业人员教程、Git 与 GitHub 速成课、完整 Git 与 GitHub 教程Git 速查表cheatsheet常用命令速查。建议结合本仓库中 2022/Days 各章节的实战代码如 Go、Kubernetes、IaC 等目录动手练习找一个你感兴趣的仓库Fork 它、Clone 它、修改它再通过 PR 把改进送回社区——这就是代码的社交网络最真实的运转方式。小结GitHub 是集代码托管、项目管理Issues/Projects、协作PR/Discussions、CI/CDActions、文档Wiki与安全策略于一体的一站式平台Fork让你拥有仓库副本、可自由实验Clone把副本带到本地 IDE修改后通过Contribute/Pull Request把变更回馈给上游仓库内的 .github/workflows 提供了 GitHub Actions 的真实生产用例可对照学习自动化工作流的编写方式GitLab、BitBucket 等是同类但各有定位的选择选型取决于团队工具链与合规要求。至此代码的社交网络从概念到实操已完整走通下一次当你看到心仪的项目就可以自信地点击 Fork开启属于自己的开源协作之旅。赞分享文档/教程【免费下载链接】90DaysOfDevOpsThis repository started out as a learning in public project for myself and has now become a structured learning map for many in the community. We have 3 years under our belt covering all things DevOps, including Principles, Processes, Tooling and Use Cases surrounding this vast topic.项目地址https://gitcode.com/gh_mirrors/90/90DaysOfDevOps点击查看免费下载相关推荐90DaysOfDevOps Day 40深入探索 GitHub——代码的社交网络、仓库导航与 Fork/Clone 协作实战90DaysOfDevOps Day 40深入探索 GitHub——代码的社交网络、仓库导航与 Fork/Clone 协作实战 导读 本文是 90DaysOf文档/教程90DaysOfDevOps 第 40 天GitHub 入门实战——代码托管、Fork 协作与 PR 流程全解析90DaysOfDevOps 第 40 天GitHub 入门实战——代码托管、Fork 协作与 PR 流程全解析 本篇指南来自 90DaysOfDevOps文档/教程90DaysOfDevOps 第 47 天Docker 网络与容器安全实战指南90DaysOfDevOps 第 47 天Docker 网络与容器安全实战指南 本篇文章来自 90DaysOfDevOps 学习项目 2022 年路线图的 D文档/教程创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表