【嵌入式】git工具基础命令学习笔记 | 嵌入式Linux

文章目录

  • 前言
  • 一、git基础指令
  • 二、git分支管理
    • 2.1、一些基础命令
    • 2.2、时间回溯
    • 2.3、新建分支,删除分支,重命名分支


前言

参考:飞凌嵌入式ElfBoard ELF-1 软件学习手册
chatGPT

一、git基础指令

首先我们新建一个名叫git的文件夹,在里面创建一个main.c,后续就以这个C文件为例子进行git管理:

在这里插入图片描述
首先检查ubuntu虚拟机上的git版本是不是最新的:

sudo apt-get install git

很好,已经是最新的了:
在这里插入图片描述
启动命令:

git init

git init 是一个Git命令,用于在当前目录中创建一个新的Git仓库。这个命令会在当前目录下生成一个隐藏文件夹.git,用于存储Git仓库的配置信息和版本历史等内容。执行这个命令后,你就可以开始使用Git来进行版本控制了。
我们使用ls- a 就能看到.git的隐藏文件:

ls -a

在这里插入图片描述
然后我们添加用户名和邮箱:

git config --global user.name "XXX"
git config --global user.email "XXX"

git config --global user.name “XXX” 和 git config --global user.email “XXX” 命令用于设置 Git 用户的全局配置,其中 “XXX” 分别是你的用户名和邮箱。这两个配置信息将被用于每次你提交代码时的作者信息。
在这里插入图片描述

紧接着添加main.c到git仓库的暂存区:

git add main.c

在这里插入图片描述
git add main.c 命令用于将文件 main.c 添加到Git的暂存区。在执行这个命令后,main.c 的当前状态将被记录在Git的暂存区中,等待进一步的提交。这样做是为了将文件的更改纳入到下一次提交中。在执行 git add 之后,你可以使用 git commit 命令来提交这些更改。 注意噢,这里只是暂存区,还没提交

这时我们可以使用命令来查看一下暂存区的状态变化

git status

在这里插入图片描述
git status 命令用于显示工作目录和暂存区的状态。
截图的意思是:你当前处于一个新的Git仓库,且在master分支上有一些文件已经添加到了暂存区,其中包括一个新文件 main.c。如果你希望取消暂存某个文件,可以使用 git rm --cached 命令。
接下来,你可以执行 git commit 命令来提交这些更改。执行 git commit 后,Git将会要求你输入本次提交的相关信息,例如提交消息等。

接下来我们提交一下:

git commit -m "instial program"

git commit -m “instial program” 是一个用于提交代码更改到 Git 版本控制系统的命令。这个命令包含了两个主要部分:

git commit: 这个部分告诉 Git 你想要创建一个新的提交,将当前更改保存到版本历史中。

-m “instial program”: 这是一个选项 -m,用于在命令行中指定提交的消息或说明。在这个例子中,提交消息是 “instial program”,它描述了这个提交所做的更改或者提交的目的。 git commit -m “xxx” 命令中的双引号里的 “xxx” 部分是你需要填写的提交消息。这个消息应该简要地描述你在这次提交中所做的更改或者添加的功能。这样的提交消息可以帮助你和其他团队成员更容易地理解每次提交的目的,也方便在版本历史中追踪和管理代码变更。所以,请将实际的更改内容或者相关信息替代 “xxx” 部分。
在这里插入图片描述
我们再查看一下状态:
在这里插入图片描述
这会的输出中,它显示了你当前所在的分支是 master,并提示 “nothing to commit, working directory clean”,这意味着你的工作目录是干净的,没有未提交的更改。

我们还可以使用以下命令来查看提交记录信息:

git log

git log 命令用于显示版本提交历史记录。当你运行这个命令时,会显示每次提交的详细信息,包括提交者、提交日期、提交的哈希值以及提交消息。
在这里插入图片描述
这里的输出表示:你的 git log 输出显示了一个提交,哈希值为 dd73feaa05ff6f7e5b3b52b4e878c2101aab1272,作者为 elf_li,提交日期为 Mon Jan 8 12:04:00 2024 +0800,并且提交消息是 “instial program”

二、git分支管理

2.1、一些基础命令

使用以下命令查看本地分支

git branch

在这里插入图片描述
目前在主分支

查看一下状态:
在这里插入图片描述
现在我们修改一下文件:(新建一个main1.c 删除main.c)(现在是工作区出现了更改
在这里插入图片描述

git rm main.c
git add main1.c

删除名为 main.c 的文件,然后将名为 main1.c 的文件添加到暂存区。
在这里插入图片描述
然后我们提交:

git commit -m "delete main.c_add main1.c"

在这里插入图片描述
这段话是关于一个 Git 提交的信息。它表示你进行了一次提交,其中删除了一个名为 main.c 的文件,并创建了一个名为 main1.c 的新文件。这次提交共影响了两个文件,删除了 5 行内容,并且对文件的模式进行了更改。

值得注意的是,这里经常报这个错误:
error: bad index file sha1 signature
fatal: index file corrupt
一般我重新运行一下命令就可以成功,第一遍打命令都要报错 我也不知道为啥

然后这个命令是看一下:

git show

git show 命令用于显示一个或多个 Git 对象的详细信息,包括提交的更改、作者、提交时间等。如果你在命令行中运行 git show,它将显示最新的提交的详细信息。
在这里插入图片描述

git show --stat

git show --stat 命令用于显示提交的摘要信息和更改的统计信息。它会展示每个修改过的文件的简略统计,包括插入和删除的行数。
请添加图片描述

git log 

命令用于显示提交历史记录。
在这里插入图片描述
这里有两个提交,每个提交包括了提交的哈希值、作者、日期和提交消息。第一个提交删除了 main.c 文件并添加了 main1.c 文件,而第二个提交是初始化程序。

git show dd73feaa05ff6f7e5b3b52b4e878c2101aab1272

git show [commitid]查看某次提交的具体修改内容
在这里插入图片描述
还可以加上 --stat:

git show dd73feaa05ff6f7e5b3b52b4e878c2101aab1272 --stat

在这里插入图片描述

2.2、时间回溯

git reset --hard 是一个 Git 命令,用于将你的工作目录、暂存区和当前分支都回退到指定的提交或分支,这个操作会丢弃所有未提交的更改和历史记录

git reset --hard dd73feaa05ff6f7e5b3b52b4e878c2101aab1272

git reset --hard dd73feaa05ff6f7e5b3b52b4e878c2101aab1272 命令将工作区和暂存区都回退到指定的提交 dd73feaa05ff6f7e5b3b52b4e878c2101aab1272,并且丢弃之后的所有提交。
这个命令的效果是非常强烈的,它会使你的工作目录和暂存区的所有更改都回到指定提交的状态。在使用这个命令之前,请确保你理解它的影响,因为它会永久性地丢弃所有在指定提交之后的更改。
以下是实验效果:
在这里插入图片描述

2.3、新建分支,删除分支,重命名分支

创建新分支并切换到该分支的命令如下:

git checkout -b test

以下是实验结果:
在这里插入图片描述
给分支改名:

git branch -m test project_test

在这里插入图片描述
删除分支:

git branch -d test

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

GreatSQL喊你来考证啦~

GreatSQL社区全网开放且全免费的GCA和GCP双等级考核认证,赶快来参与吧~ 认证课程介绍 GreatSQL社区开放GCA与GCP双等级认证课程,课程全面覆盖GreatSQL的安装、使用、优化、安全高可用等方面,包含构建主从和MGR架构,优化提升性能…

【动态代理详解】

文章目录 1. 关于代理1.1 代理的概述1.1.1 什么是动态代理1.1.2 动态代理能做什么 1.2 什么是代理1.2.1 生活中的代理1.2.2 为什么要找中介? 1.3 开发中的代理模式(代理)1.3.1 使用代理模式的作用 1.4 实现代理的方式 2. 静态代理2.1 什么是静…

百川智能发布角色大模型 ,零代码复刻角色轻松满足游戏领域定制需求

2024年1月9日,百川智能发布角色大模型Baichuan-NPC,深度优化了“角色知识”和“对话能力”,使模型能够更好的理解上下文对话语义,更加符合人物性格地进行对话和行动,让角色栩栩如生。此外,对于游戏领域AI角…

各版本 操作系统 对 .NET Framework 与 .NET Core 支持

有两种类型的受支持版本:长期支持 (LTS) 版本和标准期限支持 (STS) 版本。 所有版本的质量都是一样的。 唯一的区别是支持的时间长短。 LTS 版本可获得为期三年的免费支持和补丁。 STS 版本可获得 18 个月的免费支持和修补程序。 有关详细信息,请参阅 .N…

找不到文件Computer Management.lnk怎么办

win10系统右键“此电脑”,在右键菜单选择“管理”弹出错误提示: windows找不到文件Computer Management.lnk 打开电脑C盘路径C:\Windows\System32,找到compmgmt.msc文件 给compmgmt.msc文件创建一个快捷键选择文件compmgmt.msc,右…

联盛德-安全物联网芯片w800

联盛德-安全物联网芯片w800 前言一、w800简介?芯片外观 总结 前言 本文介绍w800的基本信息,详细规格,后续有时间会介绍如何适配openharmony的过程。 一、w800简介? W800 芯片是一款安全 IoT Wi-Fi/蓝牙 双模 SoC 芯片。支持 2.…

软件测试|Linux三剑客之sed命令详解

简介 sed(Stream Editor)是一款流式文本编辑器,在 Linux 和类 Unix 系统中广泛使用。它的设计目的是用于对文本进行处理和转换,可以用于替换、删除、插入、打印等操作。sed 命令通过逐行处理文本,允许您使用简单的命令…

物联网协议Coap中Californium CoapClient解析

目录 前言 一、CoapClient对象 1、类定义 2、Client方法调用 二、发送请求 1、构建请求 2、发起请求 3、接收响应 总结 前言 在之前的博客中物联网协议Coap之Californium CoapServer解析,文中简单介绍了CoapServer的实现。在物联网开发环境中,除了…

git安装教程 Windows 附安装包链接

Git是一款分布式源代码管理工具(版本控制工具) 。 git的作用 当你需要做一个大工程的时候,文件的管理无疑是非常庞大的工作,因为你需要不断的修改更新文件内容,同时可能还要保留旧版本保证可以复原,这样就需要备份多个版本的文件…

【镜像压缩】linux 上 SD/TF 卡镜像文件压缩到实际大小的简单方法(树莓派、nvidia jetson)

文章目录 1. 备份 SD/TF 卡为镜像文件2. 压缩镜像文件2.1. 多分区镜像文件的压缩(树莓派、普通 linux 系统等)2.2. 单分区镜像文件的压缩(Nvidia Jetson Nano 等) 3. 还原镜像文件到 SD/TF 卡4. 镜像还原后处理4.1. 镜像分区调整4…

【MySQL】:用户管理

用户管理 一.用户1.用户信息2.创建用户3.修改密码4.删除用户 二.数据库权限1.给用户授权2.回收权限 如果在以下操作中出现以下报错 可以使用刷新权限 一.用户 1.用户信息 MySQL中的用户,都存储在系统数据库mysql的user表中。 字段解释: host&#xff…

基于SSM+Vue的学校社团管理系统(Java毕业设计)

大家好,我是DeBug,很高兴你能来阅读!作为一名热爱编程的程序员,我希望通过这些教学笔记与大家分享我的编程经验和知识。在这里,我将会结合实际项目经验,分享编程技巧、最佳实践以及解决问题的方法。无论你是…

基于代理IP的多线程爬虫实现

目录 前言 1. 爬虫的基本原理 2. 多线程爬虫的优势 3. 代理IP的应用 4. 基于代理IP的多线程爬虫实现 步骤1:导入必要的模块 步骤2:定义爬虫函数 步骤3:创建线程并启动爬虫 总结 前言 本文将介绍如何使用Python编写一个基于代理IP的多…

UR机器人旋转矢量和俯仰角的转换

我们在使用机器人的时候,总是习惯使用俯仰角来描述机器人末端姿态的变换。这样更直观,但是机器人为了插值方便计算,总是采用旋转矢量来来描述机器人的姿态。该旋转矢量及不直观,单一轴角度旋转时还可以理解,当两个轴或…

少儿编程 2023年12月中国电子学会图形化编程等级考试Scratch编程四级真题解析(判断题)

2023年12月scratch编程等级考试四级真题 判断题 11、创建自制积木时,参数只能添加数字和文本 答案:错 考点分析:考查自制积木的使用,创建自制积木的时候参数可以是数字、文本以及布尔值类型;所以答案错误 12、分查找是我们经常用的查找方式,它比顺序查找效率更高,比如…

前端中什么是DOM对象

DOM(文档对象模型)是一种编程接口,用于HTML和XML文档。它提供了一种将文档结构表示为树结构的方式,这使得程序和脚本能够动态地访问和更新文档的内容、结构和样式。 在前端开发中,DOM是非常重要的概念。当浏览器加载网…

高级别智能驾驶业务系列:港口作业仿真系统

在港口无人水平运输场景中,经纬恒润提供了车、路、网、云、图全栈式自研解决方案,包含了自动驾驶车辆、路侧车路协同、全场高可靠定位、5G远程驾驶、运营调度管理、数字孪生、仿真系统、 高精地图等专业模块,组成了一套完整的智慧港口解决方案…

sqlmap性能优化

sqlmap性能优化 🎈🎈🎈🎈🎈🎈🎈🎈🎈🎈🎈🎈🎈🎈🎈🎈🌭🌭&#…

查看springboot starter提供的jar包默认版本

1.找到parent的版本,ctrl点进去 2.在spring-boot-dependencies继续点版本号 3.最终文件为spring-boot-dependencies-版本.pom

Git将本地项目上传到Gitee仓库

1.右键点击文件,点击Git Bash Here,进入git窗口 2.初始化本地仓库 git init3.将本地仓库与远程仓库建立连接 git remote add origin 远程仓库地址远程仓库地址在gitee仓库复制即可 4.将远程仓库的文件拉到本地仓库中 git pull origin master5.将本地文件全部上传…