Git项目管理——提交项目和版本回退(二)

 个人名片:

🎓作者简介:嵌入式领域优质创作者
🌐个人主页:妄北y

📞个人QQ:2061314755

💌个人邮箱:[mailto:2061314755@qq.com]
📱个人微信:Vir2025WBY
🖋️本文为妄北y原创佳作,独家首发于CSDN🎊🎊🎊
💡座右铭:改造世界固然伟大,但改造自我更为可贵。

专栏导航:

妄北y系列专栏导航:

物联网嵌入式开发项目:大学期间的毕业设计,课程设计,大创项目,各种竞赛项目,全面覆盖了需求分析、方案设计、实施与调试、成果展示以及总结反思等关键环节。📚💼💡

QT基础入门学习:对QT的基础图形化页面设计进行了一个简单的学习与认识,利用QT的基础知识进行了翻金币小游戏的制作。🛠️🔧💭

Linux基础编程:初步认识什么是Linux,为什么学Linux,安装环境,进行基础命令的学习,入门级的shell编程。🍻🎉🖥️

Linux应用开发基础开发:分享Linux的基本概念、命令行操作、文件系统、用户和权限管理等,网络编程相关知识,TCP/IP 协议、套接字(Socket)编程等,可以实现网络通信功能。💐📝💡

Linux驱动开发:Linux驱动开发是Linux系统不可或缺的组成部分,它专注于编写特殊的程序——驱动程序。这些程序承载着硬件设备的详细信息,并扮演着操作系统与硬件间沟通的桥梁角色。驱动开发的核心使命在于确保硬件设备在Linux系统上顺畅运作,同时实现与操作系统的无缝集成,为用户带来流畅稳定的体验。🚀🔧💻

Linux项目开发:Linux基础知识的实践,做项目是最锻炼能力的一个学习方法,这里我们会学习到一些简单基础的项目开发与应用,而且都是毕业设计级别的哦。🤸🌱🚀

非常期待与您一同在这个广阔的互联网天地里,携手探索知识的海洋,互相学习,共同进步。🌐💫🌱 熠熠星光,照亮我们的成长之路

✨✨ 欢迎订阅本专栏,对专栏内容任何问题都可以随时联系博主,共同书写属于我们的精彩篇章!✨✨

文章介绍:

📚本篇文章将深入剖析GIT使用教程学习的精髓与奥秘,与您一同分享相关知识!🎉🎉🎉

若您觉得文章尚可入目,期待您能慷慨地送上点赞、收藏与分享的三连支持!您的每一份鼓励,都是我创作路上源源不断的动力。让我们携手并进,共同奔跑,期待在顶峰相见的那一天,共庆辉煌!🚀🚀🚀

🙏衷心感谢大家的点赞👍、收藏⭐和评论✍️,您的支持是我前进的动力!

目录:

目录:

一、GIT提交

1.1 常看当前工作目录的状态:

1.2 往暂存区中添加

1.3 添加到本地仓库

1.4 查看提交日志

二、版本回退 


一、GIT提交

先建立一个index.html文件

以下是文件内容:

1.1 常看当前工作目录的状态:

git status

  git status 是一个 Git 命令,它用于显示 Git 仓库中当前工作目录的状态。该命令会展示以下信息:

  1. 当前分支:显示你目前所在的分支。

  2. 变更追踪:显示已修改(modified)、已添加到暂存区(staged)、未跟踪(untracked)的文件。

  3. 文件状态

    • 已修改但未暂存(红色提示):文件已经修改,但尚未执行 git add 添加到暂存区。
    • 已暂存待提交(绿色提示):文件已经使用 git add 添加到暂存区,等待下一次提交。
    • 未跟踪文件:新文件或者是.gitignore中指定的不被Git跟踪的文件。
  4. 提示信息:可能会给出关于如何撤销改变或如何将改变添加到暂存区的提示。

 

1.2 往暂存区中添加

git add index.html     //文件名称

        当你执行 git add index.html 命令时,你是在告诉 Git 将 index.html 文件的更改添加到暂存区(staging area)。这意味着 index.html 文件中所有已经修改的内容将被标记为准备在下一个提交(commit)中包含。

  1. 修改文件:首先,你需要对 index.html 文件进行修改。

  2. 添加到暂存区:执行 git add index.html 命令,将修改后的 index.html 文件添加到暂存区。

  3. 检查状态:使用 git status 命令来查看哪些文件已经被暂存,哪些还没有。执行 git status 后,你会看到 index.html 文件的状态变为 "staged" 或 "to be committed"。

当文件存在多个的时候:

 

git add . 

   git add . 是一个 Git 命令,用于将当前目录下的所有新文件、修改过的文件和删除的文件添加到暂存区。这不包括那些被忽略的文件(例如,那些在 .gitignore 文件中指定的文件)。

        使用这个命令之后,所有的本地更改(新建、修改、删除的文件)将会被包含进暂存区,准备进行下一步的提交。这是快速准备大量更改进行提交的一个便捷方式,但是要谨慎使用,以确保不会意外添加不希望提交的更改。

        在执行 git add . 之后,可以使用 git status 来查看哪些更改已经被暂存,并且可以继续使用 git commit 命令来提交这些更改到仓库的历史记录中。

1.3 添加到本地仓库

把暂存区文件添加到本地仓库

git commit -m "提交说明"

  git commit -m "提交说明" 是一个 Git 命令,用于创建一个新的提交,将所有已暂存的更改记录到仓库历史中。这个命令中 -m 选项后面跟随的 "提交说明" 是提交消息,用于描述这次提交的目的或包含的更改内容。

         提交消息应该是清晰、简洁的,能够快速告诉其他参与项目的人这次提交做了什么。好的提交消息可以极大地提高项目的可维护性和协作效率。

         执行这个命令后,所有之前使用 git add 命令添加到暂存区的更改都会被包含在这次提交中。如果你之前没有执行过 git add 来暂存任何更改,那么 git commit -m "提交说明" 命令将不会提交任何东西,因为没有更改被暂存。

这里是执行 git commit -m "提交说明" 命令的一些步骤:

  1. 编辑和保存文件:对项目进行必要的修改,编辑相应的文件。

  2. 暂存更改:使用 git add <file>git add . 等命令将更改添加到暂存区。

  3. 提交更改:执行 git commit -m "提交说明" 来创建一个新的提交。将暂存区的内容和你提供的提交消息一起记录到仓库的历史中。

  4. 查看日志(可选):使用 git log 命令可以查看提交历史,确认你的提交已经被正确记录。

        如果在提交之后意识到提交消息有误或遗漏了一些更改,可以使用 git commit --amend 命令来修改最后一次提交,但请谨慎使用,因为这会改变仓库的历史。

 当我们资源更新之后

 

当我们文件发生变化后,再次查询会发现有出现了新的缓存:

 当我们每次整好一个版本项目,感觉已经是一个能够保存的节点了,我们就可以将暂存区的信息往本地仓库提交一下

1.4 查看提交日志

         git log是Git版本控制系统中一个非常有用的命令,它允许用户查看一个或多个分支的提交历史。这个命令展示了关于每次提交的详细信息,包括提交哈希值、作者、提交日期和提交信息等。这对于理解项目的发展历程、审查代码的变更以及追踪特定更改的来源等方面非常有帮助。

基本使用

        要查看当前分支的提交历史,简单地在Git仓库的根目录下运行:

git log 

常用选项

        查看每次提交的差异(显示每次提交中哪些行被添加或删除):

  git log -p

        查看最近的N次提交:

git log -n <N>

 其中`<N>`代表你想要查看的提交数目。

         按特定格式显示日志:

 git log --pretty=format:"%h - %an, %ar : %s"

这将会以一种简洁的格式显示提交,包括提交的哈希值、作者名字、提交日期和提交信息。

        显示特定文件或目录的日志:

git log -- <file/directory path>

只显示指定文件或目录的提交历史。

        图形化地显示提交树:

git log --graph

  这个选项以图形方式显示分支、合并历史。

高级搜索

        在特定日期之后的提交:

  git log --after="YYYY-MM-DD"

        指定作者的提交:

  git log --author="<author>"

        搜索提交信息中包含特定关键字的提交:

git log --grep="<keyword>"

结合使用选项

        你可以组合使用多个选项来定制你的日志输出,以满足具体需求。例如,如果你想看到过去两周内所有提交的统计信息(如每次提交的更改行数),你可以使用:

git log --since=2.weeks --stat

`git log`是一个强大的命令,提供了多种选项和过滤器来帮助你以不同的方式查看提交历史。掌握这个命令可以有效地帮助你管理和审查代码的历史变更。

查看所有的版本以及回退的记录 

git reflog

        git reflog 是 Git 中一个非常有用的命令,它记录了你的本地仓库中 HEAD 指针的移动历史。无论是因为提交(commit)、合并(merge)、重置(reset)还是其他原因,只要 HEAD 改变了位置,这些变动都会被记录在 reflog 中。这个命令对于恢复丢失的工作、找回因为误操作而消失的提交以及一般的仓库问题诊断来说都非常有帮助。

二、版本回退 

从本地仓库恢复回退到指定的版本

git reset --hard commit  //这里的commit是版本id号

   git reset --hard <commit>命令是Git中用于重置当前分支的HEAD到指定提交的一种方式,同时会清除工作目录中的所有变更。这意味着所有自那次提交以来的更改将会被丢弃,并且工作目录将会恢复到那次提交的状态。 

执行这个命令后将会发生以下几点:

  • 当前分支的HEAD(也就是当前分支的最新提交)将会被更新为指定的提交。
  • 暂存区将会被更新,以匹配那次提交的快照。
  • 工作目录中的所有文件将会被更新,以匹配那次提交的快照。
  • 所有自那次提交之后进行的更改将会被丢弃。

 

这里就回退到了第一次提交的版本 

警告

         使用git reset --hard要非常小心,因为这个命令会丢弃所有未提交的更改。如果你有任何未保存或未提交的工作,它们将会被永久删除。在执行此命令之前,确保你不需要那些更改,或者已经将它们保存在其他地方。

撤销git reset --hard

         如果你意识到执行了一个不希望的git reset --hard操作,有可能通过查找reflog来恢复丢弃的更改。Git的reflog记录了你本地仓库HEAD和分支指针的变化,可以帮助你找到丢失的提交。使用git reflog命令查看历史操作,然后可以使用git reset --hard <commit>命令恢复到你希望的状态,其中<commit>是你从reflog中找到的想要恢复到的提交ID。

          记住,git reset --hard是一个强大但危险的命令,只有在你确定要放弃所有更改时才使用它。

要想回退回去

 

📝大佬觉得本文有所裨益,不妨轻点一下👍给予鼓励吧!

❤️❤️❤️本人虽努力,但能力尚浅,若有不足之处,恳请各位大佬不吝赐教,您的批评指正将是我进步的动力!😊😊😊

💖💖💖若您认为此篇文章对您有所帮助,烦请点赞👍并收藏🌟,您的支持是我前行的最大动力!

🚀🚀🚀任务在默默中完成,价值在悄然间提升。让我们携手共进,一起加油,迎接更美好的未来!🌈🌈🌈

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

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

相关文章

SSL证书对于网络安全的重要作用

SSL证书是一种数字证书&#xff0c;它通过加密技术确保了客户端&#xff08;如浏览器&#xff09;与服务器之间的数据传输安全。当一个网站安装了SSL证书后&#xff0c;用户在浏览器地址栏中可以观察到HTTPS&#xff08;超文本传输安全协议&#xff09;前缀和挂锁图标&#xff…

聚鼎科技:装饰画行业到底怎么样

在当代社会&#xff0c;随着人们审美水平的提升和生活品质的追求&#xff0c;装饰画行业呈现出蓬勃的发展态势。这一行业不仅关系到文化艺术的传承与创新&#xff0c;也与市场经济紧密相连&#xff0c;其前景值得深入探讨。 装饰画行业的市场潜力巨大&#xff0c;它贯穿于家居装…

Git使用(4):分支管理

一、新建分支 首先选择Git -> Branches... 然后选择 New Branch&#xff0c;输入新分支名称&#xff0c;例如dev。 可以看到右下角显示已经切换到新建的dev分支了。 push到远程仓库&#xff0c;可以看到新添加的分支。 二、切换分支与合并分支 为了演示合并分支&#xff0c…

【opencv】答题卡判分实验

实验环境&#xff1a; anaconda、jupyter notebook 实验用的包&#xff1a;numpy、matplotlib、opencv 实验的目的还是以熟悉图像的透视变换、轮廓特征提取为主要目的 关于如何判断答题卡被选项&#xff1a;通过几个覆盖备选项的掩膜与原二值图像想与&#xff0c;最终整个图像…

Python100个库分享第23个—wordcloud(词云图)

目录 专栏导读库的介绍库的安装基础使用1&#xff1a;将TXT文本转为词云图基础使用2&#xff1a;使用自定义字体和形状基础使用3&#xff1a;中文词云图停用词(中英文版)-代码是中文版总结 专栏导读 &#x1f338; 欢迎来到Python办公自动化专栏—Python处理办公问题&#xff0…

JavaWeb--18 tlias-web-management 登录认证

登录认证 1 登录功能功能开发 2 登录校验2.1 问题分析2.2 会话技术CookieSession令牌技术 2.3 JWT令牌介绍生成和校验登录下发令牌 2.4 过滤器Filter拦截路径过滤器链 登录校验-Filter 2.5 拦截器InterceptorInterceptor详解执行流程 登录校验- Interceptor 3 异常处理3.1 当前…

文本分类TextRCNN模型(pytorch实现)

文本分类TextRCNN模型 RCNN简介TextRCNN模型介绍TextRCNN代码&#xff08;文本10分类&#xff09; RCNN简介 从之前的文章中介绍过RNN的优点是能够捕捉到序列的时序信息&#xff0c;这可能有利于捕获长文本的语义。但是RNN对于文本序列后面的单词获取到的语义会更多&#xff0…

Python 全栈体系【四阶】(四十五)

第五章 深度学习 十、生成对抗网络&#xff08;GAN&#xff09; 1. 图像生成技术概述 1.1 什么是图像生成技术 图像生成技术是指利用机器学习或深度学习等人工智能技术&#xff0c;通过训练模型来生成逼真的图像。这些技术可以根据给定的输入&#xff0c;生成与真实图像相似…

线性系统(二)

线性系统&#xff08;二&#xff09; 1.直观理解线性方程组结构2. 不同解的结论3. 更一般的高斯-约旦消元法4.齐次线性方程组 链接: 线性系统&#xff08;一&#xff09; 1.直观理解线性方程组结构 长这样&#xff0c;方程就有解&#xff0c;即相交坐标。 长这样&#xff0c;…

《天空之城》观后感

曾经很长一段时间都着迷于《天空之城》这段旋律&#xff0c;一遍一遍不厌其烦地听&#xff0c;静谧而温馨、豪迈却苍凉&#xff0c;各种复杂的感受随着起伏的音符流淌进心里。多年之后才知道这首曲子出自宫崎骏的同名动画电影。说来也有意思&#xff0c;似乎大多数人是通过电影…

如何配置静态住宅IP?

静态住宅IP是指专为家庭网络环境设计的固定IP地址&#xff0c;通常由互联网服务提供商&#xff08;ISP&#xff09;为家庭用户提供。这种IP地址在其生命周期中保持不变&#xff0c;除非由于某些外部因素&#xff08;如ISP更改策略&#xff09;或用户请求更改。相比于动态IP地址…

css设置滚动条的样式

/* 滚动条样式 *//* 定义滚动条整体的宽度和轨道的背景颜色 */::-webkit-scrollbar {width: 10px;/* 对于垂直滚动条的宽度 */height: 10px;/* 对于水平滚动条的高度&#xff0c;可选 */}/* 定义滚动条轨道的样式 */::-webkit-scrollbar-track {background-color: rgba(0, 0, 0…

全新多语言海外抢单刷单系统源码 订单自动匹配 支持分组 代理后台

安装教程 测试环境&#xff1a;Nginx PHP7.0 MySQL5.6 config/database 修改数据库 设置运行目录public 伪静态thinkphp 后台登录地址&#xff1a;/admin 账号admin 密码admin123 前端出现报错 删除runtime文件夹得缓存文件即可 源码免费下载地址抄笔记 (chaobiji.cn)

机器人非线性系统反馈线性化——Brunovsky标准型

Brunovsky Canonical Form 机器人非线性系统的反馈线性化&#xff0c;特别是涉及到Brunovsky标准型&#xff0c;是现代控制理论中的一个重要话题。反馈线性化是一种非线性控制设计方法&#xff0c;其核心思想是通过设计反馈控制器&#xff0c;将非线性系统转化为线性系统。这种…

windows驱动开发-PCI讨论(一)

前面描述中断的时候&#xff0c;我们曾经多次体积PCI&#xff0c;甚至提供了一些PCI的相关知识&#xff0c;但是整个PCI是一个很大的体系&#xff0c;专门记录这个体系超出了这个系列的范畴&#xff0c;有兴趣的可以到PCI官网了解详细的情况。 但是还是会花费一些时间讨论PCI技…

Python 全栈体系【四阶】(四十四)

第五章 深度学习 九、图像分割 3. 常用模型 3.4 DeepLab 系列 3.4.3 DeepLab v3&#xff08;2017&#xff09; 在DeepLab v3中&#xff0c;主要进行了以下改进&#xff1a; 使用更深的网络结构&#xff0c;以及串联不同膨胀率的空洞卷积&#xff0c;来获取更多的上下文信…

Spark RDD案例:统计网站每月访问量

这个项目利用Spark技术&#xff0c;通过统计网站访问记录中的日期信息&#xff0c;实现了对每月访问量的统计和排序。通过分析数据&#xff0c;我们可以了解到不同月份的网站访问情况&#xff0c;为进一步优化网站内容和推广策略提供数据支持。 使用Spark统计网站每月访问量 …

平芯微PW4056HH中文规格书

概述 PW4056HH 是一款完整的采用恒定电流/恒定电压的高压、大电流、单节锂离子电池线性充电 IC。充电电流可达 1A。输入 MAX 低工作电压 3.75V&#xff0c;降低充电功耗&#xff0c;提高效率。 PW4056HH 采用了内部 PMOS 架构&#xff0c;加上防反充电路&#xff0c;不需要外部…

白酒:低酒精度白酒的消费特点与市场前景

低酒精度白酒的消费特点与市场前景是酒类市场的一个重要话题。随着品质意识的提高和消费者口味的多样化&#xff0c;低酒精度白酒逐渐受到越来越多的关注。云仓酒庄豪迈白酒作为白酒的品牌之一&#xff0c;其消费特点和市场前景值得深入探讨。 首先&#xff0c;从消费特点来看…

linux Docker在线/离线服务安装并支持centos7和centos8系统

注&#xff1a;以下内容都是经过测试;能在生产环境使用. 一、centos7版本的docker在线安装 1&#xff1a;运行以下命令&#xff0c;下载docker-ce的yum源。 sudo wget -O /etc/yum.repos.d/docker-ce.repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo…