生产力工具|GitHub的使用与将其应用到生产中

一、GitHub的相关介绍

(一)GitHub平台介绍

        GitHub (GitHub: Let’s build from here · GitHub)是一个面向开源及私有软件项目的托管平台,它提供了版本控制功能和协作特性,使得团队成员可以共同协作开发、合并代码、跟踪问题和管理项目。以下是一些 GitHub 的介绍和操作技巧:

  1. 版本控制: GitHub 使用 Git 作为版本控制系统,允许开发者跟踪文件的变化、恢复到以前的版本以及在团队中协作开发代码。

  2. 代码托管: GitHub 提供了一个集中式的代码托管平台,开发者可以将他们的代码库上传到 GitHub 上,并可以在任何地方通过互联网访问。

  3. 分支管理: GitHub 支持分支操作,允许开发者在不影响主代码库的情况下开发新功能或修复 bug。这些分支可以在开发完成后合并到主分支中。

  4. 问题跟踪: GitHub 的问题跟踪功能允许团队成员提交 bug 报告、提出功能建议,并进行讨论和分配任务。

  5. 合作开发: GitHub 允许多个开发者同时编辑同一个代码库,通过提交拉取请求(Pull Request)来将自己的修改合并到主分支中。

  6. 文档和Wiki: GitHub 提供了文档和Wiki功能,团队可以编写项目文档、共享知识和经验。

  7. 持续集成: GitHub 集成了持续集成服务,可以自动构建和测试代码,并在每次提交或拉取请求时提供反馈。

  8. 安全审查: GitHub 提供了安全审查功能,可以检查代码中的安全漏洞并提供建议修复方法。

        总的来说,GitHub 提供了一个强大的协作平台,使得团队成员可以高效地协同开发软件项目,并管理项目的整个生命周期。

        📺 Youtube视频:什么是 GitHub?

(二)GitHub要素介绍

       (1) 仓库(Repository)仓库 是 GitHub 最基本的元素。 它们很容易被想象为项目的文件夹。 仓库包含所有项目文件(包括文档),并存储每个文件的修改历史记录。 仓库可以有多个协作者,仓库可以是公开的,也可以设置为私有的。详情介绍请查看GitHub 文档

        (2) 分支(Branch):分支是仓库的并行版本。默认情况下,您的仓库具有一个名为 main 的主分支。我们可以复制主分支创建其他分支,您安全地进行任何更改而不会影响”线上“主分支。 完成所需更改后,可以将分支合并回主分支以发布你的更改。

       (3) profile README:profile README 其实是您 GitHub 个人主页资料上 “关于我” 的介绍。 内容一般包含:

  • 介绍您的工作和兴趣
  • 您引以为豪的贡献以及这些贡献的背景信息
  • 在您参与的社区获得帮助的指南 

    profile README

        (4) 提交(commit):"提交“是指对项目中的文件或文件夹的一组修改。有关更多信息,请参阅“关于提交”。

        (5)提交(commit)?:"提交“是指对项目中的文件或文件夹的一组修改。有关更多信息,请参阅“关于提交”。

二、GitHub可能的实操工具

(二)建立第一个分支

如何开始

  1. 右键点击上方 Start course 按钮

  2. 在新页面中根据系统提示新建一个仓库。

    • 仓库名称、描述这些字段系统已经帮我们自动填充好了,您可以按需修改。
    • 建议使用选择公共仓库,因为私有仓库 GitHub Action有免费额度限制
    • 最后点击 Create repository 按钮
  3. 仓库创建完毕后,等待大约 20 秒(等待Action执行),然后刷新页面。注意是刷新您仓库的页面,不是本课程的页面。如果页面没有变化,请继续等待。

        接下来,我们将按照新建仓库中的README说明,进行分步操作。

步骤1:新建分支

  1. 回到我们刚创建的仓库中
  2. 并确认是否在 < > Code 页面

code-tab

  1. 点击 main 分支

main-branch-dropdown

  1. 输入新分支名字: my-first-branch
  2. 点击 Create branch: my-first-branch 创建分支

create-branch-button

然后会自动切换到新创建的分支。

  1. 等待大约20秒,然后刷新页面。GitHub Actions 将自动更新到下一步。

步骤2:提交文件

        恭喜您完成创建了一个分支🎉

        创建分支的好处是我们可以随意修改项目而不会影响主分支。现在您创建了一个分支,是时候新建一个文件并完成您的第一次提交。

        什么是提交(commit)?:"提交“是指对项目中的文件或文件夹的一组修改。有关更多信息,请参阅“关于提交”。

 练习:您的第一次提交

        以下步骤将指导您完成在 GitHub 上提交修改的过程。 文件重命名、内容修改、创建新文件以及对项目所做的任何其他修改都会产生”提交“记录。 对于本练习,提交修改前我们需要首先在新分支中创建一个文件。

  1. 在 < > Code tab中首先确认当前是否处于 my-first-branch 分支。

  2. 选择 Add file 下拉框并点击Create new file创建一个文件

create new file option

  1. 在 Name your file... 输入框中输入文件名:PROFILE.md

    备注: .md 是 Markdown 格式文件的扩展名。 其语法格式可以阅读我们的文档基本撰写和格式语法

  2. 在编辑框内复制下面的文件内容:

    Welcome to my GitHub profile!
    

    profile.md file screenshot

  3. 点击右上角绿色按钮 "Commit changes..."。对于提交,您可以输入简短文字来描述您所做的更改。 此信息可帮助其他人了解您的提交中包含的内容。 GitHub 提供了一个简单的默认描述,但让我们稍微更改一下以进行练习。 首先,在第一个标题为“提交消息”的文本输入字段中输入 Add PROFILE.md

    screenshot of adding a new file with a commit message

  4. 本节我们暂时不用关心其他选项,现在请点击 Commit changes 吧。

  5. 等待大约20秒,然后刷新页面。GitHub Actions 将自动更新到下一步。

步骤3:打开拉取请求(Open a pull request)

        干的漂亮,您完成了一次提交! ✨

        什么是拉取请求(pull request)?: 拉取请求是 GitHub 上协作的核心。 拉取请求向他人展示你分支中发生的修改,并允许其他人接受、拒绝或者增加其他修改建议。 通过side by side 比较方式,显示两个分支中内容的差异,此拉取请求将保留您刚刚在分支上所做的修改,并提议将它们合并到main分支上。 更多关于拉取请求,请查看文档"About pull requests"

⌨️ 练习:创建拉取请求

        您可能已经注意到,在提交后会显示一条消息,提示您最近推送到分支并显示了一个 “Compare & pull request” 的按钮。

screenshot of message and button

        点击 Compare & pull request 会自动创建拉取请求,然后我们直接跳到下面的第6步。否则我们将手动创建,请跟随下面的说明。

  1. 点击顶部菜单 Pull requests tab

  2. 点击 New pull request

  3. base: 下拉框中请确保选择的是 main 分支

  4. 选择 compare: 下拉框,并点击 my-first-branch 分支

    screenshot showing both branch selections

  5. 点击 Create pull request

  6. 输入拉取请求的标题。 这里我们填 Add my first file

  7. 下面输入框中输入描述性的话,说明你做了那些修改

  8. 点击 Create pull request。然后页面会自动跳转到你新建的拉取请求

  9. 等待大约20秒,然后刷新页面。GitHub Actions 将自动更新到下一步。

步骤4:合并拉取请求

        做得很好!😎

        您已成功创建拉取请求。 您现在可以合并您的拉取请求。

        什么是合并(merge)?: 此操作将拉取请求中的修改合并到main分支中。有关合并的更多信息,请参阅"Merging a pull request"。

As noted in the previous step, you may have seen evidence of GitHub Actions running which automatically progresses your instructions to the next step. You'll have to wait for it to finish before you can merge your pull request. It will be ready when the merge pull request button is green.

screenshot of green merge pull request button

⌨️ 练习:合并拉取请求
  1. 点击 Merge pull request

  2. 点击 Confirm merge

  3. 一旦您的分支被合并,您就不再需要它了。 要删除此分支,请单击“删除分支”

    screenshot showing delete branch button

  4. 等待大约20秒,然后刷新页面。GitHub Actions 将自动更新到下一步(完成)。

参(他)考(山)引(之)用(石)

[1]GitHub 快速入门教程 | GitHub 中文社区 (github-zh.com)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/557652.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Databend x CubeFS:面向未来的企业级云原生数据存储与分析

用场景的丰富&#xff0c;企业面临着前所未有的数据存储挑战。大规模数据存储变得日常化&#xff0c;伴随着超大容量和快速变化的I/O需求&#xff0c;传统的存储解决方案已经难以满足企业对弹性、运维效率及总体拥有成本&#xff08;TCO&#xff09;的更高要求。这些挑战促使基…

ClickHouse最大QPS到底咋估算?

ClickHouse是用于分析的OLAP数据库&#xff0c;因此典型的使用场景是处理相对较少的请求 — 从每小时几个到每秒几十甚至几百个不等 — 但会影响到大量数据&#xff08;几GB/数百万行&#xff09;。 但是在其他情况下&#xff0c;它的表现如何&#xff1f;让我们尝试用大量小请…

基于python+vue的幼儿园管理系统flask-django-php-nodejs

随着信息时代的来临&#xff0c;过去的传统管理方式缺点逐渐暴露&#xff0c;对过去的传统管理方式的缺点进行分析&#xff0c;采取计算机方式构建幼儿园管理系统。本文通过课题背景、课题目的及意义相关技术&#xff0c;提出了一种活动信息、课程信息、菜谱信息、通知公告、家…

基于python+vue银行柜台管理系统flask-django-php-nodejs

课题主要采用python开发语言、django框架和MySQL数据库开发技术以及基于Eclipse的编辑器。系统主要包括通知信息、用户信息、银行信息、卡号账户、存款信息管理、取款信息、转账信息、贷款信息、贷款申请、贷款发放、账单信息、还款信息等功能&#xff0c;从而实现智能化的管理…

微信小程序分销返佣模式--小程序1-3级分销插件--小程序分销--

团购小程序是一种基于社区团购模式的电商平台&#xff0c;主要面向社区居民用户。 如果你想要开发一款分销团购小程序可以参考以下功能需求进行开发制作。 1、用户注册和登录 提供用户注册和登录功能&#xff0c;使用户能够创建和管理他们的账户。 2、会员管理 包括会员注…

html5cssjs代码 035 课程表

html5&css&js代码 035 课程表 一、代码二、解释基本结构示例代码常用属性样式和装饰响应式表格辅助技术 一个具有亮蓝色背景的网页&#xff0c;其中包含一个样式化的表格用于展示一周课程安排。表格设计了交替行颜色、鼠标悬停效果以及亮色表头&#xff0c;并对单元格设…

《云计算:数字时代的引擎》

在数字化时代&#xff0c;云计算技术以其强大的计算能力和灵活的应用方式&#xff0c;成为推动各行各业发展的引擎。本文将围绕云计算的技术进展、技术原理、行业应用案例、面临的挑战与机遇以及未来趋势进行详细探讨。 云计算的技术进展 云计算的技术进展涵盖了多个方面&…

Linux下Docker部署中间件(Mysql、Redis、Nginx等)

我的自备文件 文件传输 内网下直接上传很慢 使用scp命令将另一台服务器上的文件传输过来&#xff1b;在已有文件的服务器往没有文件的服务器传输 scp -r 传输的文件夹/文件 root要传输的地址:放置的地址 scp -r tools root172.xx.x.xxx:/data/ 安装二进制文件、脚本及各中间件…

八大排序算法之希尔排序

希尔排序是插入排序的进阶版本&#xff0c;他多次调用插入排序&#xff0c;在插入排序上进行了改造&#xff0c;使其处理无序的数据时候更快 核心思想&#xff1a;1.分组 2.直接插入排序&#xff1a;越有序越快 算法思想&#xff1a; 间隔式分组&#xff0c;利用直接插入排序…

java多线程使用与踩坑

SpringBoot使用多线程简单方法&#xff1a;地址 线程安全查阅资料参考&#xff1a;地址 背景&#xff1a; 经过上述资料查看&#xff0c;我想写个方法&#xff08;依靠notify()唤醒&#xff0c;依靠wait()等待&#xff09;实现两个线程轮流打印。 配置多线程方法1 实现&…

学成在线_视频处理_视频转码不成功

问题 当我们用xxljob进行视频处理中的转码操作时会发现视频转码不成功。即程序会进入下图所示的if语句内。 问题原因 在进行视频转码时程序会调用Mp4VideoUtil类下的 generateMp4方法&#xff0c;而result接收的正是该方法的返回值。那么什么时候generateMp4方法的返回值会…

个性化影片推荐系统|基于JSP技术+ Mysql+Java+ Tomcat的个性化影片推荐系统设计与实现(可运行源码+数据库+设计文档)

推荐阅读100套最新项目 最新ssmjava项目文档视频演示可运行源码分享 最新jspjava项目文档视频演示可运行源码分享 最新Spring Boot项目文档视频演示可运行源码分享 2024年56套包含java&#xff0c;ssm&#xff0c;springboot的平台设计与实现项目系统开发资源&#xff08;可…