手把手教你简易上手GitHub(教程)

这篇博客介绍了如何在GitHub上创建仓库、启动分支、编辑文件、提交更改以及通过拉取请求合并分支。通过实例演示了GitHub的基本协作流程,包括创建一个新的`hello-world`仓库,创建名为`readme-edits`的分支,修改README文件,打开并合并拉取请求。学习这些步骤将帮助初学者掌握GitHub的工作流。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.创建仓库

仓库是存储想法、资源甚至与他人共享和讨论的地方。(记笔记的地方)

  1. 在任何页面的右上角,使用  下拉菜单选择 New repository(新建仓库)

  2. 在 Repository name(存储库名称)框中,输入 hello-world

  3. 在 Description(说明)框中,编写简短说明。

  4. 选择 Add a README file(添加 README 文件)

  5. 选择您的存储库是公有还是私有

  6. 单击 Create repository(创建仓库)

2.创建一个main的分支

分支是什么呢?我的理解就是main好比是一张正式的数学试卷,创建的分支就是带有做题时间和为什么这么做这道题的可以打草稿的副本数学试卷。

具体怎么做呢?如下:

  1. 单击 hello-world 存储库的 Code(代码)选项卡。
  2. 单击其中显示 main 的文件列表顶部的下拉列表。

  3. 在文本框中键入分支名称 readme-edits
  4. 单击 Create branch: readme-edits from main(创建分支:从 main 创建 readme-edits)
  5. 此时您有两个分支:main 和 readme-edits。 现在,它们看起来完全相同。 接下来,您将向新分支添加更改。

3. 提交更改

  1. 在您创建的 readme-edits 分支下,单击 README.md 文件。

  2. 单击 🖊 编辑文件,输入“这是记录日常学习笔记用的仓库!”

  3. 在编辑器中,编写一些关于您自己的内容。 尝试使用不同的 Markdown 元素。

  4. 在 Commit changes(提交更改) 框中,编写描述更改的提交消息。

  5. 单击 Commit changes(提交更改)

 

 这样就把分支中的readme文件编辑好了,这些更改将仅适用于 readme-edits 分支上的 README 文件,所以这个分支现在包含不同于 main 的内容。

 

4. 合并到main上+拉取请求

现在,您在 main 以外的分支中进行了更改,可以打开拉取请求。

拉取请求是 GitHub 上协作的核心。 打开拉取请求后,可以提出更改,要求某人审查和提取您的贡献并将其合并到其分支中。 拉取请求显示两个分支中内容的差异。 变化、增减以不同的颜色显示。

只要进行提交,便可打开拉取请求并开始讨论,即使在代码完成之前亦可。

通过在拉取请求消息中使用 GitHub 的 @提及功能,您可以向特定人员或团队请求反馈,无论他们近在大厅还是远在 10 个时区之外。

您甚至可以在自己的存储库中打开拉取请求并自行合并。 这是在处理大型项目之前了解 GitHub 流程的好方法。

  1. 单击 hello-world 存储库的 Pull requests(拉取请求)选项卡。

  2. 单击 New pull request(新拉取请求)

  3. 在 Example Comparisons(示例比较)框中,选择您创建的分支 readme-edits 以与 main(原始分支)进行比较。

  4. 在 Compare(比较)页面上的差异中查看您的更改,确保它们是您要提交的内容。

  5. 单击 Create pull request(创建拉取请求)

  6. 为拉取请求指定一个标题,并写下更改的简要说明。 您可以包含表情符号以及拖放图像和 gif。

  7. (可选)在标题和说明右侧,单击 Reviewers(审查者)旁边的 。 单击 Assignees(受理人)Labels(标签)Projects(项目)或 Milestone(里程碑)以将这些选项添加到您的拉取请求。 您不需要添加任何内容,但这些选项提供了使用拉取请求进行协作的不同方式。 更多信息请参阅“关于拉取请求”。

  8.    单击 Create pull request(创建拉取请求)

 

 

在最后一步中,您将 readme-edits 分支合并到 main 分支中。 合并拉取请求后,readme-edits 分支上的更改将合并到 main

有时,拉取请求可能会引入与 main 上现有代码冲突的代码更改。 如果存在任何冲突, GitHub 将提醒您有关冲突代码的信息,并防止合并,直到冲突解决为止。 您可以进行解决冲突的提交,也可以使用拉取请求中的注释与团队成员讨论冲突。

在本演练中,应该没有任何冲突,因此您已准备好将分支合并到主分支中。

  1. 单击 Merge pull request(合并拉取请求),将更改合并到 main
  2. 单击 Confirm merge(确认合并)。 您将收到一条消息,指出请求已成功合并且请求已关闭。
  3. 单击 Delete branch(删除分支)。 现在,您的拉取请求已合并,并且您的更改位于 main 上,您可以安全地删除 readme-edits 分支。 如果要对项目进行更多更改,可以随时创建新分支并重复此过程。

总结: 

已经学会并完成了如下功能,上手试试吧 

  • 创建了一个开源仓库
  • 启动并管理了新的分支
  • 更改了文件并将这些更改提交到 GitHub
  • 打开并合并了拉取请求
<think>好的,我现在需要帮用户了解如何快速入门STM32。首先,用户可能是一个刚接触嵌入式系统或者单片机的新手,想要快速上手STM32,但不知道从哪里开始。我得想想用户的需求是什么,他们可能希望有一个明确的步骤指南,包括需要哪些硬件、软件,以及学习的路径是怎样的。 首先,我需要确定用户的基础。如果是完全没有单片机经验的话,可能需要先介绍一些基本概念,比如什么是微控制器,STM32的特点,以及它和Arduino之类的开发板的区别。但用户可能已经有一些基础,所以应该直接切入STM32的入门步骤。 接下来,用户可能想知道需要准备哪些硬件。常见的STM32开发板比如正点原子、野火、STM32官方开发板等。这里需要推荐一些性价比高且资料丰富的型号,比如F1系列,因为资源多,适合初学者。同时,可能还需要提到下载器,比如ST-Link,因为这是编程和调试必需的设备。 然后是软件环境的搭建。Keil MDK和STM32CubeMX是常用的工具,尤其是CubeMX可以图形化配置引脚和时钟,对新手友好。需要详细说明安装步骤,以及如何创建第一个工程,生成代码等。另外,可能还需要提到其他IDE,比如IAR或者VS Code搭配PlatformIO,但Keil和CubeMX的组合更适合入门。 接下来是学习路径。用户可能需要从GPIO控制开始,比如点亮LED,按键输入,然后逐步学习外设,如USART、定时器、ADC等。每个部分都需要结合例程和实际操作。此外,固件库的学习也很重要,HAL库和标准库的区别需要解释清楚,现在主流是HAL库,所以应该重点介绍。 调试技巧也是关键部分,如何利用ST-Link进行调试,查看变量,设置断点,以及使用printf重定向来输出调试信息。这些对排查问题很有帮助。 文档和社区资源方面,用户可能需要知道去哪里找资料,比如官方参考手册、数据手册,以及正点原子和野火的教程。社区如电子工程世界、优快云、GitHub上的开源项目也是宝贵资源。 项目实践部分,建议用户从简单到复杂,逐步积累经验。通过实际项目来巩固知识,比如做一个小车、智能家居节点等。同时,提醒用户保持耐心,遇到问题多查资料,多动手实践。 最后,可能用户还有一些潜在的问题,比如是否需要学习电路知识,或者C语言基础。虽然用户没提到,但在回答中可以适当强调这些基础的重要性,建议先掌握基本的电路和C语言,特别是结构体和指针的应用。 总结下来,我需要把入门步骤分成明确的几个部分,每部分给出具体的建议和资源,确保用户能够按部就班地学习,同时保持回答的条理清晰,语言简洁易懂。</think>以下是快速入门STM32的步骤指南,适合零基础新手按顺序学习: 一、准备工作 1. 硬件准备 - 推荐开发板:正点原子战舰V3(STM32F103ZET6)、野火霸道V2(STM32F407ZGT6) - 下载工具:ST-Link V2(兼容性好,支持SWD调试) - 配件:USB转TTL模块(CH340G芯片)、杜邦线若干 二、软件安装 1. 开发环境搭建(Win系统) - Keil MDK5(需安装对应Device Pack) - STM32CubeMX(版本6.x以上) - STM32CubeProgrammer(烧录工具) - 串口调试助手(推荐XCOM V2.2) 三、学习路线(建议按顺序) 1. 基础篇(1-2周) - GPIO控制:LED流水灯(寄存器版/HAL库版) - 时钟系统:使用CubeMX配置时钟树 - 中断系统:外部按键中断实验 - 定时器:PWM呼吸灯实现 - USART通信:与PC端串口助手交互 2. 进阶篇(2-3周) - ADC采集:电位器电压测量 - DMA传输:高速数据传输实验 - SPI/I2C总线:OLED屏幕驱动 - 看门狗:独立看门狗(IWDG)实验 - RTC实时时钟:电子日历制作 3. 实战篇(建议项目) - 智能温控风扇(PWM+温度传感器) - 无线气象站(ESP8266 WiFi模块) - CAN总线数据采集(搭配MCP2551) - 简易示波器(配合PC端GUI) 四、关键学习技巧 1. 寄存器操作三部曲: - 使能外设时钟(RCC) - 配置工作模式(GPIOx_CRL/CRH) - 数据寄存器操作(GPIOx_IDR/ODR) 2. CubeMX配置要点: ```c /* 自动生成的时钟配置示例 */ void SystemClock_Config(void) { RCC_OscInitTypeDef RCC_OscInitStruct = {0}; RCC_ClkInitTypeDef RCC_ClkInitStruct = {0}; // HSE配置(8MHz外部晶振) RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSE; RCC_OscInitStruct.HSEState = RCC_HSE_ON; RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON; RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSE; RCC_OscInitStruct.PLL.PLLM = 8; RCC_OscInitStruct.PLL.PLLN = 336; RCC_OscInitStruct.PLL.PLLP = RCC_PLLP_DIV2; RCC_OscInitStruct.PLL.PLLQ = 7; HAL_RCC_OscConfig(&RCC_OscInitStruct); // 系统时钟配置 RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_SYSCLK|RCC_CLOCKTYPE_HCLK |RCC_CLOCKTYPE_PCLK1|RCC_CLOCKTYPE_PCLK2; RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_PLLCLK; RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1; RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV4; RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV2; HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_5); } ``` 五、调试技巧 1. 使用SWD调试: - 在Keil中设置断点查看寄存器 - 实时监测变量(View→Watch Windows) - 逻辑分析仪(Debug→Logic Analyzer) 2. 常见问题排查: - 检查硬件连接:用万用表测量3.3V/5V供电 - 确认Boot引脚状态(通常BOOT0接GND) - 查看HardFault_Handler定位崩溃点 六、推荐学习资源 1. 官方文档: - RM0008(STM32F10x参考手册) - STM32CubeF1用户手册 - AN4488(硬件设计指南) 2. 实战视频教程: - 野火「STM32HAL库开发实战」 - 正点原子「手把手你学STM32」 3. 开源项目: - ST官方例程(STM32Cube_FW_F1_V1.8.4) - GitHub搜索"STM32-Projects" 建议每天投入2小时,配合开发板实操,一般可在1个月内掌握基础开发能力。遇到问题可优先查阅《Cortex-M3权威指南》和对应芯片的数据手册(Datasheet)。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值