【Git】—— 版本控制(忽略文件、查看修改内容,撤销未提交的修改、查看历史提交记录)

news/2024/11/8 9:52:16/

目录

一、准备工作

二、忽略文件

三、查看修改内容

四、撤销未提交的修改

五、查看提交记录


        前面学习了Git最基本的用法,包括安装Git、创建代码仓库以及提交本地代码。

        下面将要学习版本控制。


一、准备工作

        先选择一个项目,给它创建一个代码仓库,如下。

        然后执行git init命令。

二、忽略文件

        代码仓库已经创建好,接下来应该提交代码,不过应该思考一下是否所有的文件都需要加入到版本控制中?如:build目录下的文件是编译项目时自动生成的,不应该将这部分文件添加到版本控制中,那么如何实现这样的效果?

        Git会检查代码仓库的目录下是否存在一个名为.gitignore的文件,如果存在,则一行行读取内容,并把每一行指定的文件或目录排除在版本控制外。

        如下,有两个.gitignore文件,是自动生成的,app模块下的.gitignore内容只有/build,因此默认只有build目录不会被添加到版本控制中。

 

三、查看修改内容

        在第一次提交代码后,我们后面还可能对项目不断进行维护和添加新功能,git会记录下自上次提交后文件修改的内容。

        只需status命令就可以了,在项目根目录下输入如下命令:

git status

        当代码无改动时,输入status命令,会提示项目中没有任何可提交的文件。

        修改一下项目,然后再执行,提示:

        这时Git提醒我们文件已经发生变化,那么如何查看更改的内容,输入以下命令:

git diff

         如果只想查看某个类更改的内容,输入以下:

git diff app/src/main/java/com/example/....../类名

结果如下:减号代表删除的部分,加号代码添加的部分。

 

 

四、撤销未提交的修改

        有时我们会将原本正常的功能修改处问题,这时候代码还未提交,所有修改的内容可以撤销。

        撤销修改使用checkout命令,代码如下:

git checkout app/src/...../类名

        checkout命令只能处理未添加的文件,对于已添加的文件需要取消添加。

        取消添加可使用以下命令:

git reset HEAD app/src/..../类名

五、查看提交记录

        当你的项目已经执行过几十次甚至几百次提交操作时,你可能已经忘记每日提交修改了哪些内容,git记录了每次的提交记录。

        可以使用log命令查看历史提交信息,用法如下:

git log

        每次提交记录都会包含提交id、提交人、提交日期、提交描述这4个信息。

         下面重新提交一下,再次查看一下。

         当提交记录非常多的时候,只想查看其中一条记录,可以在命令中指定该记录的id,并加上-1参数表示我们只想看到一行记录,如下所示:

git log f0573c288ac4edf764d00a03ede08d8b35e71f55 -1

        如果想查看这条提交记录修改了什么内容,可以加入-p 参数,如下:

git log f0573c288ac4edf764d00a03ede08d8b35e71f55 -1 -p


http://www.ppmy.cn/news/53085.html

相关文章

SOLIDWORKS Electrical无缝集成电气和机械设计

集成电气系统设计SOLIDWORKS⑧Electrical 解决方案借助专为工程专业设计的特定工具简化了电气铲品设计,并借助直观的用户界面更快地设计嵌入式电气系统。 与SOLIDWORKS 3DCAD的原生集成能提供更好的协作与生产效率,同时减少产品延迟、提高设计的一致性与…

【2023-03-24】线、进程切换,redis底层数据结构,DNS解析

线、进程切换 进程切换与线程切换的一个最主要区别就在于进程切换涉及到虚拟地址空间的切换而线程切换则不会。因为每个进程都有自己的虚拟地址空间,而线程是共享所在进程的虚拟地址空间的,因此同一个进程中的线程进行线程切换时不涉及虚拟地址空间的转…

Matplotlib绘图库的高级使用

Matplotlib绘图库的高级使用 Matplotlib的三层结构容器层辅助显示层图像层 Matplotlib的绘图配置设置画布属性绘图保存自定义x与y刻度解决中文显示异常网格显示多次plot绘图标记显示图例多个坐标系显示 Matplotlib的三层结构 Matplotlib从层次结构上分,可以分为三层…

Docker Error,could not select device driver ““ with capabilities: [[gpu]]

在启动docker的时候: docker run -itd --rm --name test --gpus all .....报错,docker: Error response from daemon: could not select device driver ““ with capabilities: [[gpu]] 相关的博客不少,可以参考。 https://blog.csdn.ne…

【深度学习】点云PointNet从0到1

文章目录 前言1 PointNet1.1 点云的数据集1.2 点云的挑战1.1 网络结构 前言 直接处理点云数据的深度学习技术PointNet End To end Learning for scattered, unordered point data Unified franework for various tasks Point-Based Methods 分为 PointNet 和 Poin…

vite4+vue3:从0到1搭建vben后台管理系统

从0到1带你学习如何搭建vben后台管理系统系列文章目录 一.准备工作:技术选型基础环境的搭建 文章目录 从0到1带你学习如何搭建vben后台管理系统系列文章目录一.准备工作:技术选型基础环境的搭建 前言一、技术选型二、生成基础项目三、安装步骤跑起项目 总结 前言 前端日趋复杂…

一分钟教你玩转组合图表

在日常工作中,有时候单一的图表类型无法满足多维度的数据展示,这时候就要考虑使用组合图表。 什么是组合图表呢? 就是将两种及两种以上的图表类型组合起来绘制在一个图表上。 下面我们通过经典的柱线组合图来手把手教会你如何制作组合图表。 …

【车载助手形象系列二】---车载助手数智人形象制作可以使用AI绘图替代?

上期分享了《车载助手形象系列:数智人入门级介绍》,本期主要讲解下数智人形象制作过程 数字人形象 数智人覆盖了卡通、二次元、写实等多元化风格的虚拟形象,可高精度还原表情和躯干动作,提供涵盖人物设计、3D制作、内容制作、IP运…