当前位置: 首页 > news >正文

Linux云服务器配置git开发环境

文章目录

    • 1. 安装 git
    • 2. git clone
    • 3. git add .
    • 4. git commit -m '提交记录'
    • 5. git push
      • 🍑 异常原因
      • 🍑 解决办法
    • 6. git pull
    • 7. git log
    • 8. git rm
    • 9. git mv
    • 10. git status


1. 安装 git

sudo yum install git -y

2. git clone

此命令的作用是从远程仓库把代码复制到本地。当你需要获取一个已存在的远程仓库中的代码时,就可以使用它。

git clone <远程仓库地址>

在 GitHub 上找到你的仓库,复制 HTTPS 链接

在这里插入图片描述

上述命令会把 https://github.com/username/repository.git 这个远程仓库的代码克隆到当前目录下的 repository 文件夹中。

3. git add .

该命令会把当前目录下所有修改过或者新增的文件添加到暂存区。暂存区是提交之前的一个中间区域,你可以把准备提交的文件先放到这里。

git add .

这里的 . 代表当前目录。如果你只想添加特定的文件,可以直接指定文件名,例如:

git add file1.txt file2.cpp

4. git commit -m ‘提交记录’

这个命令用于将暂存区的内容提交到本地仓库。-m 选项用于添加提交说明,它能让你简要描述这次提交做了哪些更改。

git commit -m '修复了某个功能的bug'

5. git push

此命令用于将本地仓库的提交推送到远程仓库。当你在本地完成了一些代码修改并提交后,就可以使用这个命令把这些更改同步到远程仓库。

git push <远程仓库名称> <分支名称>

通常情况下,远程仓库名称默认为 origin,分支名称默认为 mainmaster

或者,我们直接不加仓库名:

git push 

🍑 异常原因

在 Linux 服务器上使用 git push 命令,输入用户名和密码之后,总会显示一个报错:

fatal: Authentication failed for ‘https://github.com/.../’

原因就是 github 现在不让使用 用户名+密码 的方式进行验证,解决起来也不难,在 github 网站上生成一个访问令牌(token),在 git push 时用这个令牌代替密码验证即可。

🍑 解决办法

1、进入 github 主页,单击右上角自己的头像

在这里插入图片描述

2、在下拉列表中选择 Settings(设置)

在这里插入图片描述

3、进入设置页面,选择最后一个标签 Developer settings(开发者设置)

在这里插入图片描述

4、进入开发者设置页面,点击 Personal access tokens(个人访问令牌)展开下拉菜单,然后在下拉菜单中选择 Tokens(classic)(令牌(经典))

在这里插入图片描述

5、点击 Generate new token(生成新令牌),展开下拉菜单;选择 Generate new token (classic)(生成新令牌(经典))

在这里插入图片描述

6、需要依次填写下列内容:

  • 填写你要使用令牌做什么
  • 选择令牌使用期限
  • 选择令牌作用范围(不知道选什么就先全选,后面可以更改)
  • 全部选择完毕后,拉到最下面,点击 Generate token(生成令牌)

在这里插入图片描述

7、保存好自己的令牌,因为它只会在这里出现一次,如果忘了就需要重新生成把令牌复制到剪切板。

在这里插入图片描述

8、在 git push 时,使用令牌代替密码进行验证

在这里插入图片描述

这样就不会有报错了,命令执行后,可以打开 GitHub 看看代码是否同步成功

6. git pull

git pull 命令的作用是从远程仓库拉取最新的代码并合并到本地仓库。当团队其他成员对远程仓库进行了修改,你需要获取这些最新更改时,就可以使用该命令。

git pull <远程仓库名称> <分支名称>

假设A同学把远端的代码修改了,而B同学又在本地仓库对代码进行了修改或者新增,此时 git push 会冲突。

那么我们需要先进行 git pull,把远端的仓库拉到本地进行同步,然后再进行 git push

7. git log

该命令用于查看提交历史记录。它会显示每次提交的详细信息,包括提交的哈希值、作者、日期和提交说明等。

git log

你还可以使用一些选项来格式化输出,例如只显示提交说明:

git log --oneline

在这里插入图片描述

8. git rm

git rm 命令用于从版本控制中删除文件。执行该命令后,文件会从工作目录和暂存区中移除,同时这个删除操作也会被记录下来,后续可以提交。

git rm <文件名>

例如:

git rm file.txtgit commit -m "Delete file.txt"git push

9. git mv

这个命令用于移动或者重命名文件。它会更新文件的路径或名称,并且将这个更改添加到暂存区。

git mv <原文件名> <新文件名>

例如,将 old_name.txt 重命名为 new_name.txt

git mv old_name.txt new_name.txtgit commit -m "modify file"git push

10. git status

git status 命令用于查看当前工作目录和暂存区的状态。它会显示哪些文件被修改了、哪些文件是新增的、哪些文件被删除了,以及哪些更改已经被暂存,哪些还没有。

git status

通过这个命令,你可以清楚地了解当前仓库的状态,以便决定下一步的操作。\

在这里插入图片描述

相关文章:

Linux云服务器配置git开发环境

文章目录 1. 安装 git2. git clone3. git add .4. git commit -m 提交记录5. git push&#x1f351; 异常原因&#x1f351; 解决办法 6. git pull7. git log8. git rm9. git mv10. git status 1. 安装 git sudo yum install git -y2. git clone 此命令的作用是从远程仓库把代…...

山东大学软件学院项目实训-基于大模型的模拟面试系统-个人主页头像上传

采用图床的方案&#xff0c;存储用户头像。 实现步骤 引入OSS依赖 在我们的SpringBoot项目中引入OSS依赖 <dependency><groupId>com.aliyun.oss</groupId><artifactId>aliyun-sdk-oss</artifactId><version>3.10.2</version> &l…...

AI智能体|扣子(Coze)实战【天气查询插件开发教程】

大家好&#xff0c;我是偶然&#xff0c;AI洞察&#xff0c;AI智能体&#xff0c;AI实战案例分享 今天教大家用 Coze 开发一个天气插件&#xff0c;本来我是想教大家怎么用 AI 写代码节点实现节点功能的&#xff0c;但是我感觉太复杂了。 起码来说&#xff0c;我还没做到用特别…...

VBA ListBox/ComboBox 响应鼠标滚轮操作

一般情况下&#xff0c;在Excel的vba窗口中&#xff0c;我们是无法使用鼠标滚轮控制例如 ListBox 和 ComboBox 控件的。我们只能通过鼠标点击的方式来逐个选择选项。 我们都知道&#xff0c;通过鼠标滚轮快速的上下滚动候选项&#xff0c;以快速的定位选择选项&#xff0c;这是…...

Linux 更改内存交换 swap 为 zram 压缩,减小磁盘写入

1、查看当前 swap 的方式 swapon --show 我这里是默认的 swap 文件&#xff0c;大小为 2G。 2、安装 zram Ubuntu 下&#xff1a; sudo apt install zram-tools安装后默认会启动&#xff1a; 3、关闭默认的 swap 文件 sudo swapoff /swapfile 其次是关闭 /etc/fstab 中的 …...

TypeScript简介

&#x1f31f; TypeScript入门 TypeScript 是 JavaScript 的超集&#xff0c;由微软开发并维护&#xff0c;通过静态类型检查和现代语言特性&#xff0c;让大型应用开发变得更加可靠和高效。 // 一个简单的 TypeScript 示例 interface User {name: string;age: number;greet():…...

Facebook如何运用AI实现元宇宙的无限可能?

引言 元宇宙&#xff08;Metaverse&#xff09;是一个虚拟的、由多个 3D 虚拟世界组成的网络&#xff0c;用户可以在其中进行互动、游戏、工作和社交。Facebook 作为全球最大的社交媒体平台之一&#xff0c;对元宇宙的构建和实现有着深远的影响。通过运用人工智能&#xff08;…...

【大语言模型ChatGPT+Python】近红外光谱数据分析及机器学习与深度学习建模(近红外光谱数据分析、定性/定量分析模型代码自动生成等)

近红外光谱数据分析是一种重要的分析技术&#xff0c;广泛应用于化学、食品、制药、农业、环境科学等领域。以下是关于近红外光谱数据分析的详细介绍&#xff1a; 一、基本原理 近红外光谱的范围 近红外光谱是指波长范围在780 - 2500纳米的电磁辐射。在这个波段&#xff0c;分子…...

ArcGIS Pro图斑属性自动联动更新-在线卫星底图图斑采集

今天介绍一下在ArcGIS Pro图斑属性自动联动更新 主要介绍内容&#xff1a; 1、ArcGIS Pro数据设计中属性规则的设置&#xff0c;实现图斑属性的自动更新与联动更新。 2、介绍ArcGIS Pro不能新建要素类图层的原因 3、包括新建字段等内容 4、deepseek查询arcade计算图斑面积语…...

OpenHarmony GPIO应用开发-LED

学习于&#xff1a; https://docs.openharmony.cn/pages/v5.0/zh-cn/device-dev/driver/driver-platform-gpio-develop.md https://docs.openharmony.cn/pages/v5.0/zh-cn/device-dev/driver/driver-platform-gpio-des.md 通过OpenHarmony官方文档指导可获知&#xff1a;芯片厂…...

C语言结构体内存对齐使用场景

#pragma pack(push, 1) 和 #pragma pack(pop) 的使用场景&#xff08;C语言&#xff09; 这两个预处理指令用于控制结构体成员的内存对齐方式&#xff0c;主要在以下场景中使用&#xff1a; 主要使用场景 网络通信协议处理 当需要精确控制结构体布局以匹配网络协议格式时 确…...

极速轻量,Rust 网络开发新选择:Hyperlane 框架深度解析

极速轻量&#xff0c;Rust 网络开发新选择&#xff1a;Hyperlane 框架深度解析 在高性能网络服务开发领域&#xff0c;Rust 凭借其内存安全与高效并发的特性备受青睐。今天&#xff0c;我们迎来一款专为现代 Web 服务打造的明星框架——Hyperlane&#xff0c;它以“轻量高效、…...

从零开始学习人工智能(Python高级教程)Day6-Python3 正则表达式

一、Python3 正则表达式 正则表达式是一个特殊的字符序列&#xff0c;它能帮助你方便的检查一个字符串是否与某种模式匹配。 在 Python 中&#xff0c;使用 re 模块来处理正则表达式。 re 模块提供了一组函数&#xff0c;允许你在字符串中进行模式匹配、搜索和替换操作。 r…...

UKCC(原OUCC)真题讲解(一)

题目链接&#xff1a;PRACTICE - 2025 Coding Challenge - UK Bebras 1.GreenStar 方法&#xff1a;使用模块 参考答案&#xff1a; 【知识点】 这里的长度100&#xff0c;是指中心到角的距离。 2.Draw a Square 参考答案&#xff1a; 【知识点】 在正多边形的图案中&#…...

Linux——特殊权限管理

Linux中的特殊权限&#xff08;setuid、setgid、sticky bit&#xff09;扩展了基本的文件权限机制&#xff0c;提供了更精细的控制。以下是详细说明&#xff1a; 1. SetUID&#xff08;SUID&#xff09; 作用&#xff1a;允许用户以文件所有者的权限执行文件。 例如&#xff1a…...

Ubuntu18.04搭建samda服务器

一.什么是Samba服务器&#xff1f; Samba服务器是一种基于开源协议实现的网络共享服务软件&#xff0c;主要用于在不同操作系统&#xff08;如Windows、Linux、Unix&#xff09;之间实现文件和打印机共享功能。其核心目标是解决跨平台资源共享的兼容性问题&#xff0c;尤其是在…...

vue3搭建后台管理系统

找menu菜单 上部用height设置高度和背景颜色 需要自己改左侧栏的边线 将el-menu的border设置为0,然后上方设置border-right设置边框 设置右边 创建data.vue input组件 导入icon图标 引入import 一个template 设置个card el-card 定义card 加el-button查询 el-table表单 …...

[学习]RTKLib详解:pntpos.c与postpos.c

文章目录 RTKLib详解&#xff1a;pntpos.c与postpos.cPart A: pntpos.c一、概述二、整体工作流程三、主要函数说明1. pntpos()2. satposs()3. estpos()4. rescode()5. prange()6. ionocorr()7. tropcorr()8. valsol()9. raim_fde()10. estvel() 四、函数调用关系图&#xff08;…...

64.微服务保姆教程 (七) RocketMQ--分布式消息中间件

RocketMQ–分布式消息中间件 一、MQ 1、什么是MQ MQ(Message Queue)消息队列,是基础数据结构中“先进先出”的一种数据结构。指把要传输的数据(消息)放在队列中,用队列机制来实现消息传递——生产者产生消息并把消息放入队列,然后由消费者去处理。消费者可以到指定队…...

邀约媒体,邀请到场 多少钱?

传媒如春雨&#xff0c;润物细无声&#xff0c;大家好&#xff0c;我是51媒体胡老师。 在策划线下活动时&#xff0c;媒体邀约是提升品牌曝光度和影响力的重要环节。不同类型和规模的媒体邀约&#xff0c;其预算需求也各不相同。以下为各类媒体邀约的费用概览及影响因素&#…...

Android数据库全栈开发实战:Room+SQLCipher+Hilt企业级应用构建

简介 在移动应用开发中,数据库作为数据存储的核心组件,其安全性和性能对企业级应用至关重要。本文将从零开始,全面讲解Android数据库开发的最新技术,包括Room框架的深度使用、SQLCipher加密数据库的实现、Hilt依赖注入的集成以及前后端数据同步的完整方案。通过一个加密任…...

Kafka与RocketMQ在事务消息实现上的区别是什么?

一、Kafka事务消息核心实现&#xff08;基于2.8版本&#xff09; // KafkaProducer.java public synchronized Future<RecordMetadata> send(ProducerRecord<K, V> record) {// 事务消息校验&#xff08;第256行&#xff09;if (transactionManager ! null &&…...

Maven 依赖发布与仓库治理

&#x1f9d1; 博主简介&#xff1a;CSDN博客专家&#xff0c;历代文学网&#xff08;PC端可以访问&#xff1a;https://literature.sinhy.com/#/?__c1000&#xff0c;移动端可微信小程序搜索“历代文学”&#xff09;总架构师&#xff0c;15年工作经验&#xff0c;精通Java编…...

hybird接口配置

【sw1】 [sw1]vlan batch 10 20 [sw1]int g 0/0/3 [sw1-GigabitEthernet0/0/1]port hybrid tagged vlan 10 20 [sw1-GigabitEthernet0/0/1]int g 0/0/1 [sw1-GigabitEthernet0/0/2]port hybrid pvid vlan 10 [sw1-GigabitEthernet0/0/2]port hybrid untagged vlan 10 20 …...

AI视频智能分析网关打造社区/工厂/校园/仓库智慧消防实现精准化安全管控

一、背景 随着社区、商业场所对消防安全要求日益提升&#xff0c;传统消防系统已难以满足智能化、精细化管理需求。智能分析网关融合物联网与人工智能技术&#xff0c;具备强大的数据处理与分析能力&#xff0c;可全面升级消防系统。将其融入消防系统各层级&#xff0c;搭建智…...

Web3 应用中常见的数据安全风险及防护措施

随着 Web3 技术的蓬勃发展&#xff0c;我们见证了一个全新的互联网时代的到来。Web3 应用以其去中心化、用户控制数据和透明性的特点&#xff0c;为用户提供了前所未有的体验。然而&#xff0c;这些应用在提供便利的同时&#xff0c;也带来了一系列数据安全风险。本文将探讨 We…...

免费视频压缩软件

一、本地软件&#xff08;支持离线使用&#xff09; 1. HandBrake 平台&#xff1a;Windows / macOS / Linux 特点&#xff1a;开源免费&#xff0c;支持多种格式转换&#xff0c;提供丰富的预设选项&#xff08;如“Fast 1080p”快速压缩&#xff09;&#xff0c;可自定义分…...

Java实用注解篇: @JSONField

前言 在 Java 开发中&#xff0c;进行对象与 JSON 的相互转换是一项常见操作&#xff0c;尤其在前后端分离的架构中显得尤为重要。Fastjson 作为阿里巴巴开源的 JSON 处理框架&#xff0c;因其高性能和强大功能而被广泛使用。JSONField 是 Fastjson 提供的一个注解&#xff0c;…...

浔川AI 第二次内测报告

浔川AI 第二次内测报告 执行社团&#xff1a;浔川社团官方联合会、总社团联合会 同意执行社团&#xff1a;总社团联合会 合作社团&#xff1a;暮烟社团官方联合会 合作分社团&#xff1a;浔川AI分社团、浔川AI分部 被执行内测程序&#xff1a;浔川AI 内测第二代 被执行内…...

React Hooks 深入浅出

目录 引言&#xff1a;React Hooks 的革命基础 Hooks useState&#xff1a;状态管理的新方式useEffect&#xff1a;组件生命周期的替代方案useContext&#xff1a;简化 Context API 额外的 Hooks useReducer&#xff1a;复杂状态逻辑的管理useCallback 与 useMemo&#xff1a;…...

解释 NestJS 的架构理念(例如,模块化、可扩展性、渐进式框架)

一、模块化设计 // user.module.ts Module({controllers: [UserController], // 当前模块的控制器providers: [UserService], // 当前模块的服务exports: [UserService] // 暴露给其他模块使用的服务 }) export class UserModule {}// order.module.ts Module({…...

Caffeine快速入门

依赖 <dependency><groupId>com.github.ben-manes.caffeine</groupId><artifactId>caffeine</artifactId><version>3.2.0</version> </dependency> Cache的基本api操作 Caffeine.newBuilder.build来构建Caffeine .maximumS…...

【踩坑记录】项目Bug分析:一次因 `String.isBlank()` 引发的崩溃(No such instance method: ‘isBlank‘)

项目Bug分析&#xff1a;一次因 String.isBlank() 引发的崩溃 一、前言 在日常的 Java 项目开发中&#xff0c;使用 String 的常见工具方法如 isEmpty()、trim() 等已司空见惯。然而&#xff0c;近期在一次项目中使用了 String.isBlank() 方法&#xff0c;结果竟然直接导致崩…...

SpringBoot整合Kafka、Flink实现流式处理

引言 在当今大数据处理领域&#xff0c;实时数据流处理变得越来越重要。Apache Kafka作为一个高吞吐量的分布式流处理平台&#xff0c;结合Apache Flink这一强大的流处理框架&#xff0c;可以构建出高效的实时数据处理系统。本文将指导您如何在SpringBoot应用中整合Kafka和Fli…...

互联网大厂Java求职面试:云原生与AI融合下的系统设计挑战-2

互联网大厂Java求职面试&#xff1a;云原生与AI融合下的系统设计挑战-2 第一轮提问&#xff1a;云原生架构选型与微服务治理 面试官&#xff08;技术总监&#xff09;&#xff1a;郑薪苦&#xff0c;我们先从一个基础问题开始。你了解Spring Cloud和Kubernetes在微服务架构中…...

AI算力产业领域产品全景图:从硬件基础到应用场景

目录 1、硬件产品 2、 软件产品 3、云服务产品 4、边缘计算产品 5、AI应用产品 6、AI安全产品 7、AI合规产品 8、AI教培产品 9、AI研创产品 10、AI生态产品 在人工智能迅猛发展的今天,算力已成为推动AI技术进步与应用落地的核心驱动力。随着深度学习模型规模的不断膨…...

【优选算法 | 模拟】探索模拟算法: 编程与问题分析的双重 考验

算法相关知识点可以通过点击以下链接进行学习一起加油&#xff01;双指针滑动窗口二分查找前缀和位运算 在本篇文章中&#xff0c;我们将深入解析模拟算法的原理。从基础概念到实际应用&#xff0c;带你了解如何通过模拟算法高效解决各种问题。无论你是刚接触算法的新手&#x…...

根据蓝牙名称自动匹配对应 UI

要实现“根据蓝牙名称自动匹配对应 UI”&#xff0c;并且支持未来不断增加的按摩椅型号和UI&#xff0c;推荐采用插件式UI注册自动路由的架构。下面是详细的可执行方案&#xff0c;适合你当前的 Flutter 项目结构&#xff1a; 1. 目录结构设计 假设每个按摩椅型号有独立的UI页…...

【25软考网工】第五章(7)路由协议、静态与默认路由、路由协议分类

目录 一、路由协议 1. 路由 2. 路由器工作原理 3. 查看路由表 4. IP路由查找的最长匹配原则 1&#xff09;例题#最长匹配原则示例题 5. 应用案例 1&#xff09;例题#路由优先级判断 2&#xff09;例题#路由信息内容 3&#xff09;例题#路由表迭代与静态路由 4&#…...

Rice Science∣武汉大学水稻研究团队发现水稻壁相关激酶OsWAKg16和OsWAKg52同时调控水稻抗病性和产量

近日&#xff0c;农学领域国际期刊Rice Science在线发表了武汉大学杂交水稻全国重点实验室范峰峰博士题为“Identification and Characterization of WAKg Genes Involved in Rice Disease Resistance and Yield”的研究论文。该论文系统分析了水稻壁相关激酶中包含半乳糖醛酸结…...

Spark,所用几个网页地址

hadoop的三大组成&#xff1a; 1. HDFS&#xff1a;存储。文件上传&#xff0c;下载 2. MapReduce&#xff1a;计算。词频统计&#xff0c;流量统计 3. YARN&#xff1a;调度 History Server网址&#xff1a;192.168.56.100:18080HDFS的NameNode网址&#xff1a;http://hadoop1…...

K8S PV 与 PVC 快速开始、入门实战

假设有如下三个节点的 K8S 集群&#xff1a; ​ k8s31master 是控制节点 k8s31node1、k8s31node2 是工作节点 容器运行时是 containerd 一、什么是 PV 与 PVC 1.1、什么是 PV&#xff08;PersistentVolume 持久卷&#xff09; PV 是集群中由管理员配置的一段网络存储&#xf…...

5月6(信息差)

一、经济与贸易 中美关税谈判进展 美方近期多次主动向中方传递谈判信号,中方回应称“谈的大门始终敞开”,但强调美方需先取消单边加征关税等错误做法78。 美国第一季度GDP环比下降0.3%,为2022年第二季度以来新低,经济压力或推动其加快谈判进程78。 全球贸易政策变动 特朗普…...

购物|电商购物小程序|基于微信小程序的购物系统设计与实现(源码+数据库+文档)

电商购物小程序 目录 基于微信小程序的购物系统设计与实现 一、前言 二、系统功能设计 三、系统实现 1、用户前台功能实现 2、管理员后台功能实现 四、数据库设计 1、实体ER图 2、具体的表设计如下所示&#xff1a; 五、核心代码 六、论文参考 七、最新计算机毕设选题…...

基于k8s的Jenkins CI/CD平台部署实践(三):集成ArgoCD实现持续部署

基于k8s的Jenkins CI/CD平台部署实践&#xff08;三&#xff09;&#xff1a;集成ArgoCD实现持续部署 文章目录 基于k8s的Jenkins CI/CD平台部署实践&#xff08;三&#xff09;&#xff1a;集成ArgoCD实现持续部署一、Argocd简介二、安装Helm三、Helm安装ArgoCD实战1. 添加Arg…...

Python实例题:高德API+Python解决租房问题

目录 Python实例题 题目 python-amap-rental结合高德 API 和 Python 解决租房问题的脚本 代码解释 get_geocode 函数&#xff1a; search_rentals 函数&#xff1a; 主程序&#xff1a; 运行思路 注意事项 Python实例题 题目 高德APIPython解决租房问题 python-ama…...

WIN10 系统增加MYSQL环境变量示例

说明&#xff1a; 由于安装MYSQL需要添加到环境变量后才能启动运行&#xff0c;这里记录一下添加mysql环境变量的过程。 1、进入我的电脑-属性 2、找到高级设置 3、找到环境变量 4、找到PATH 5、双击进入后通过新建添加对应MYSQL的安装路径&#xff08;.exe所在的bin路径&…...

NetApp SAS 连接线:铜缆与光缆的全面介绍

写在前面 NetApp 的磁盘扩展柜&#xff0c;主要是12GB的shelf&#xff0c;如DS212C,224C,460C等&#xff0c;这些shelf中间的互联或者控制器到shelf的连接都是通过12Gb的SAS线来连接的&#xff0c;以实现高速数据传输。SAS 连接线是这一过程中的核心组件。但是NetApp的SAS连接…...

CSS中的@import指令

一、什么是import指令&#xff1f; import 是CSS提供的一种引入外部样式表的方式&#xff0c;允许开发者在CSS文件中引入其他CSS文件&#xff0c;或者在HTML的<style>标签中引入外部样式。与常见的<link>标签相比&#xff0c;import 提供了一种更“CSS原生”的样式…...

tinyrenderer笔记(上)

tinyrenderer个人代码仓库&#xff1a;tinyrenderer个人练习代码参考笔记&#xff1a;从零构建光栅器&#xff0c;tinyrenderer笔记&#xff08;上&#xff09; - 知乎 第 1 课&#xff1a;Bresenham 画线算法 Bresenham 画线算法&#xff1a;Bresenham 直线算法 - 知乎 第一…...