GitHub使用教程详解(上)——官网操作指南[翻译]

article/2025/8/14 16:12:52


GitHub 指南

原文地址:GitHub官网指南

示例项目:Hello World

十分钟轻松教学

在学习计算机语言编程的过程中创建Hello World 项目是一个历史悠久的传统。当你接触一门新事物的时候可以用它来做一个简单的练习。让我们开始使用github吧!

通过本文,您将会学到:

  1. 如何创建和使用仓库
  2. 如何创建和管理分支
  3. 如何改变一个文件并将它提交到github上
  4. 如何发起以及合并请求

什么是GitHub?


GitHub是一个代码版本控制和协作的托管平台。它可以让你和你的伙伴在任何地方一起进行项目开发。

本教程将帮助你学习GitHub的必备知识,如“仓库”、“分支”、“提交代码”以及“请求代码合并”。你将创建你自己的“hello-world”仓库并且学习GitHub的请求代码合并工作流,这是目前一种非常流行的创建和审查代码方式。

无需编码

要完成本教程,您需要注册一个GitHub账户并且需要联网。你不需要知道如何编码,如何使用命令窗口以及如何安装Git(GitHub的客户端软件)。

提示:你可以将本指南在一个单独的浏览器或浏览器tab窗口中打开,这样你就可以边看着指南边进行操作了。

第一步:创建一个仓库

一个仓库通常用来组织一个单独的项目。该仓库可以包含你项目中的所有文件,如文件夹、文件、图片、视频、电子表格、数据集等。我们建议包含一个README文件,或者你自定义的用来记录项目信息的文件。GitHub将默认在你创建仓库的时候添加它。在创建的同时还提供了权限许可选项。

你可以用你的“hello-world”仓库来存储你的想法、资源,甚至用它来和别人分享、讨论任何事情。

创建一个新的仓库

  1. 在页面的最右上角,你的头像的左边,点击“+”,在弹出的下拉选项中选择“New repository”。
  2. 在仓库名称输入框中输入你的仓库名称:“hello-world”。
  3. 写一个简短的描述。
  4. 勾选“Initialize this repository with a README”。

这里写图片描述

点击“Create repository”按钮,完成创建。

第二步:创建一个分支

分支是一个可以让你在同一时间工作在同一个仓库的不同版本的方法。

在你的仓库中会有一个默认的名叫“master”的主分支,该分支用来存储你最终确定的版本代码。我们用其他的子分支来进行编辑和更改,确定之后再提交到主分支。

当你从主分支创建出一个子分支的那一刻,其实你就是对当时时间点的主分支做了一个拷贝。如果之后别的分支的人对主分支做出了更新,在你提交到主分支之前,你必须先从主分支上拉取那些更新。

下面的图表将显示分支合作的整个流程:

  • 主分支
  • 一个新的命名为“feature”的子分支(因为我们正在这个分支上做开发)
  • “feature”分支合并到主分支之前的历程

这里写图片描述

你是否像下面这样保存过不同版本的文件?

  • story.txt
  • story-joe-edit.txt
  • story-joe-edit-reviewed.txt

在GItHub仓库中的分支就是为了完成类似的功能。

在GitHub上,我们的开发人员,编辑人员以及设计人员,分别在独立的分支上完成自己修改bug或功能编写的工作。当一个功能编写确定之后,他们就将自己的分支合并到主分支上。

新建一个子分支

  1. 进入你的“hello-world”仓库
  2. 点击文件列表上方的写着“branch: master”的下拉框
  3. 在输入框中输入新的分支名字“readme-edits”
  4. 点击下方蓝色背景的分支创建框或直接按键盘的“Enter”键

这里写图片描述

现在,你已经有了“master”和“readme-edits”两个分支了。他们看起来几乎一模一样,但是不要着急,接下来,我们将在我们新建的子分支上做出一些改变。

第三步:做出修改并提交

干得好!现在,你已经在你的新分支“readme-edits”上了,让我们来对它写点什么。

在GitHub中,保存更改被称为“提交”。每一次提交都需要写一段我们为什么做出修改的备注说明。这些备注说明将对你的更改做出记录,其他伙伴看到之后就知道你每次都提交了什么。

做出修改并提交

  1. 点击“README.md”文件,切换到“README.md”内容页面
  2. 点击编辑框右上角的铅笔按钮,进入编辑界面
  3. 在编辑框中,写一些你自己的信息
  4. 在下方的“提交更改”框中,输入你做出此次修改的备注说明
  5. 点击下方的“Commit changes”按钮

这里写图片描述

这些更改只是针对于位于你的“readme-edits”子分支中的 “README.md ”文件,所以现在这个分支上包含的内容和主分支上已经有所不同。

第四步:发出“请求代码合并”请求

现在你已经对你的新分支做出了修改,我们可以发出“请求代码合并”的请求啦。

请求代码合并是GitHub团队协作的核心功能。当你发出一个“请求代码合并”请求的时候,相当于你请求别人拷贝你当前的代码做出审查,审查通过之后将你的代码下载并且合并到他们的分支上。该请求将会在所有的分支上显示出不相同的部分。你做出的任何更改、增加以及减少,都会用绿色和红色显示出来。

在你的代码完成之前,你可以随时进行代码提交,发起请求代码合并的请求以及进行一场讨论。

你可以通过GitHub的“@”功能,在每次发出“请求代码合并”请求的时候,向特定的人或团队做出反馈,无论这个人是在你身边还是远在千里之外。

你可以向自己的仓库发出“请求代码合并”的请求,并且自己去合并他们。这在你接触到大型项目之前是一个非常好的练习方法。

为更改的README文件发出“请求代码合并”请求

第一步:点击“Pull Request”选项卡按钮,切换到请求代码合并页面,点击绿色的“New pull request”按钮

这里写图片描述

第二步:选择你创建的“readme-edits”分支,与主分支进行比较。

这里写图片描述

第三步:在对比页面查看这些更改,确定他们就是你想要提交的。

这里写图片描述

第四步:当你确定这些更改就是你所要的时候,点击绿色的“Create Pull Request”按钮。

这里写图片描述

第五步:为你的更改做一个简单的标题和描述。

这里写图片描述

当你写完备注描述之后,点击“Create pull request”按钮。

提示:你可以使用emoji表情或者拖拽图片到评论窗口进行评论。

第五步:合并你的“请求代码合并”请求

这是整个过程的最后一步,是时候将你在子分支“readme-edits”做出的更改合并到主分支“master”上了。

  1. 点击绿色的“Merge pull request”按钮,将这些修改合并到主分支
  2. 点击“Confirm merge”按钮
  3. 由于这个分支的更改已经被合并了,所以我们还需要点击紫色框中的“Delete branch”按钮,删除这个分支

这里写图片描述
这里写图片描述


大功告成,你已经学会如何在github官网上管理自己的项目了。



http://chatgpt.dhexx.cn/article/f7Qcu2eO.shtml

相关文章

Ublox ZED-F9P 厘米级定位模组开箱评估

最近因为工作需要,在评估Ublox的ZED-F9P高精度定位模组,该模组定位精度号称厘米级,从官方的数据手册看,在RTK条件下,定位精度高达1cm,这个感觉还是挺牛的,因为目前还没有听到一个小模组就能实现…

解决ublox无法定位问题(一直输出$GxTXT)

最近开始研究有关RTK技术的项目,于是先购买了两块ublox公司的NEO-M8T-0型号芯片。(注意NEO-M8T还细分为NEO-M8T-0和NEO-M8T-2,前者不支持RTCM输出,后者支持RTCM输出) 首先都是按常规步骤,直接把芯片模块串口…

Ublox模块测试分析报告

我们在产品的实际开发过程中需要选择一款GPS模块,目前在GPS芯片和模块这个领域我们国内也有很多的厂家在生产。由于之前一直使用的是ublox的模块,所以对于替换成国内模块之后的产品性能没有一定的了解,所以我们选了一款国内的GPS模块与ublox的…

UBLOX F9P如何恢复出厂设置

很多人在设置完F9P 想变回出厂状态,不知道如何设置?本文提供了一种常用的恢复方法:打开u-center软件,选择好串口和波特率 首先要设置正确的波特率,如果波特率设置不对的话,也是无法恢复出厂设置&#xff0…

UBLOX ZED-F9P输出频率配置

打开u-center软件,选择好串口和波特率 打开view 下 点击message view   在弹出框图下依次选择UBX->CFG->PRT 图中依次标识的1、2、3、4、5;其中第4步为修改输出频率,可以选择1000,500,200,100&…

UBLOX板卡基础设置--F9P板卡配置(基准站和流动站)

UBLOX-F9P板卡配置-基准站/流动站 UBX-F9P模块为双频定位芯片,是市场上目前最常用的高精定位模块,差分定位精度可达厘米级,具体参数详见官方文档 官方文档下载链接: UBX-F9P模组官方说明文档下载 F9P配置口默认波特率为38400&…

Ublox-F9P USB接口

Ublox-F9P USB接口 电脑无法识别 排除电脑驱动问题,可能是因为芯片未使能USB接口。手册上对接口默认设置的描述是需要通过串口1激活USB和串口2(实际上大部分芯片是默认激活的)。 u-center软件连接ublox串口1,对USB接口进行使能。…

UBLOX F9P搭建NtripCaster组建RTK

UBLOX ZED-F9P搭建Ntrip Caster,组建RTK 目录 UBLOX ZED-F9P搭建Ntrip Caster,组建RTK配置UBLOX ZED-F9P基站云端配置NtripCaster使用Ntripcasterv2.0版本安装在/opt/ntripcaster2 目录下建立定时清理logs服务,自己配置settings.conf配置ntri…

Ublox M8N模块测试指南

Ublox M8N模块测试指南 最近在研究通过GPS模块校时51单片机本地时间系统,同时通过GPS模块获取经纬度、速度。由于工作原因一直断断续续没有推进项目。 这两天通过XY获得一枚Ublox M8N模块,通过其官网手册对其进行测试。必备工具: Ublox 官网&…

ublox lea-6r

转载自:https://tech.hqew.com/fangan_1699781 现代卫星导航系统是目前世界上最先进的导航系统之一。现代卫星导航系统定位精度高,但无法连续提供运载体位置信号,同时,当运载体产生剧烈动作或当导航星全球定位系统信噪较低时定位…

ublox_f9p 代码中接入别人编译好的连接库(PPP定位)

一、程序放置位置 编译完成的文件放置位置如下图所示: 二、主函数中包含编译代码的头文件 #include "../Ublox_PPP/header/UbloxInterface.h" 三、CMakeList中添加动态连接库 此时便可以在主函数中添加编译和调用好的代码 ! 四、在bashrc中 加…

ublox center获取RTK卫星数据

配置RKT step1 采用有线连接,访问fixposition网页 step2 RTK需要网络连接网络 step3 登录RTK账号(必须在有GNSS信号下才能配置成功) 连接成功如下所示 u-center获取卫星数据 这里我们通过TCP连接 这里20010 20020分别对应两个天线的数据 这里点这里…

智工运维定位器之ublox_m8030_gps芯片开发

一,概述 GNSS芯片选用了ublox的 UBX-M8030 系列,有3个型号: 可以到官网去下载相关资料,文档还挺齐的: https://www.u-blox.com/zh/product/ubx-m8030-series#tab-product-selection 比较重要的几个文档有: …

UBLOX芯片 M8T几个指令总结

名称指令是不是发一次就行返回示例说明图例查询 MON-HW B5 62 0A 09 00 00 13 43是B5 62 0A 09 3C 00 00 F4 01 00 00 00 00 00 00 00 01 00 EF F7 00 00 62 00 7C 0502 01 01 84 FF EB 01 00 0A 0B 0C 0D 0E 0F 01 00 02 03 FF 10 FF 12 13 36 35 09 EF 5E 00 00 00 00 80 F7 …

ublox m8n

1,这只是一个定位模块,而且只支持L1频段, 72-channel u-blox M8 engine GPS L1C/A, SBAS L1C/A, QZSS L1C/A, QZSS L1 SAIF, GLONASS L1OF, BeiDou B1I, Galileo E1B/C 2.不支持RTK,只支持D-GPS u-blox receivers support Differential-GP…

ublox F9P 开发板使用指南

ublox F9P 自制开发板使用指南 1. 开发板背景介绍 ublox F9P是瑞士ublox公司生产的低成本四系统双频卫星导航接收机,性能出色,得到了广泛使用。 这款自制板卡使用ublox F9P芯片制作而成,包含2个串口、1个USB口、1个SPI口、1个I2C口&#…

GPS Ublox配置

UBLOX常用设置参数 ublox-config.c GPS原始RMC数据解析之DDMM.MMMM 解析GPS RMC语句 如何设置GPS模块只发送GGA和RMC数据 U-BLOX GPS 模块及GPRMC指令解析 GPS的hot start、cold start和warm start 分享GPS获得的UTC时间转换为北京时间,还有星期转换函数 UTC转北京…

智工运维定位器之ublox

一,概述 GNSS芯片选用了ublox的 UBX-M8030 系列,有3个型号: 可以到官网去下载相关资料,文档还挺齐的: https://www.u-blox.com/zh/product/ubx-m8030-series#tab-product-selection 比较重要的几个文档有: …

如何配置ublox ZED-F9P 高精度模块+Ntrip DTU 网络电台(连接千寻/CORS/自建站)实现网络RTK定位

格林恩德F9P-RTK模块,集成高精度板卡(ZED-F9P)可同时接收GPS,北斗,GALILEO,GLONASS 卫星系统的L1,L2频点,结合高精度天线一体化设计,体积小,重量轻,只需外部5V供电,外接配合NTRIP DTU 网络差分电…

UBLOX F9P 高精度GNSS定位板卡的基准站,流动站设置与简单的短基线单主机双模块RTK设置

1.基础配置 如图,笔者拿到的是基于USB输出的F9P模块而非平常的串口输入输出模块,于是本次的设置均会基于USB的设置来进行。 首先拿到模块后,接上一个较好的天线,并接上电脑(注意要选择与模块和天线两端射频连接器对应…