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

news2024/12/24 9:08:44

目录

一、准备工作

二、忽略文件

三、查看修改内容

四、撤销未提交的修改

五、查看提交记录


        前面学习了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.coloradmin.cn/o/458859.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Linux环境定时备份MySQL数据库

数据库备份常有,实现备份,大概需要3个步骤: 目录 1.创建数据库备份用户 2.创建数据库备份shell脚本 3.创建定时任务 1.创建数据库备份用户 为了数据安全,不建议使用root用户。举例:创建数据库备份用户 dump&#…

复现永恒之蓝[MS17_010]

目录 准备靶机 测试ping连通性 攻击漏洞 利用漏洞 准备靶机 1台kali,1台win7 win7系统可以在MSDN镜像网站里获取 注:将win7安装好,win7无法安装vmtools,若升级系统,可能会把永恒之蓝补丁打上,所以建议别升级系统 测试…

用Java创建可扩展的OpenAI GPT应用程序

ChatGPT 值得深入使用的方面之一是它的引擎,它不仅为基于Web的聊天机器人提供动力,还可以集成到Java应用程序中。 ▌Budget Journey App 想象一下,你想去一个城市旅行并且设置好了预算,你应该如何分配你的钱并让你的旅行难忘&am…

巧用千寻位置GNSS软件|逐点放样应用技巧

线路逐点放样是针对施工需要和设计要求,对线路 20、50、100间隔的整桩距或整桩号的特定桩位进行连续放样设定的程序。运用千寻位置GNSS软件如何快速实现线路逐点放样呢?让我们一探究竟吧! 点击【测量】->【线路逐点放样】,选择…

CMake : Linux 搭建开发 - g++、gdb

目录 1、环境搭建 1.1 编译器 GCC,调试器 GDB 1.2 CMake 2、G 编译 2.1 编译过程 编译预处理 *.i 编译 *.s 汇编 *.o 链接 bin 2.2 G 参数 -g -O[n] -l、-L -I -Wall、-w -o -D -fpic 3、GDB 调试器 3.1 调试命令参数 4、CMake 4.1 含义 4.2…

npm全局包及项目包的讲解与方法

看图可知 安装全局包和项目包 我们通过npm install 命令来安装包,简单说就是把包从npm的官网(或者是指定的镜像源)下载到我们自己的电脑中。那具体这个包下载到哪里了,还是有一点讲究的。 分成两类: 全局安装: 包被…

IntelliJ IDEA 新建安卓项目失败,网上的各种教程都不管用的看向这里!!!

目录 1、出现的问题: 2、解决办法: 1)新建项目 2)修改设置 3、注意 备注: 目的:最近开发机器人远程控制需要一个安卓app,之前是自己做了个H5app来用的,H5不是很稳定,所…

Kotlin基础

Kotlin基础 一.Kotlin介绍1.诞生2.Kotlin与JVM3.为什么学习kotlin?4.Kotlin跨平台特性 二.变量常量类型条件语句函数1.声明变量2.内置数据类型3.只读变量4.类型推断5.编译时常量6.条件语句:表达式7.String模板8.函数 三.匿名函数函数类型高阶函数&#x…

关于OKD(OpenShift)中组件资源介绍和命令行操作的一些笔记

写在前面 参加考试,会陆续分享一些 OpenShift 的笔记博文内容为 openshift 常见 API 资源对象介绍,包括所特有的 Route,IS,DC,BC 等。学习环境为 openshift v3 的版本,有些旧这里如果专门学习 openshift &a…

第一节 ogre源码编译与安装

一. 电脑环境要求 本机使用的编译环境为:系统为Windows 10, Microsoft Visual Studio Enterprise 2019,版本 16.11.26,cmake-3.18.6-win64-x64 这些为基本的操作环境自己可以从网上下载安装。 二. 依赖环境下载 DirectX SDK &a…

Blade项目的IDE支持

Blade是一个C/C构建工具,详细介绍见Blade构建工具。虽然功能强大,但是缺少IDE支持。本文介绍如何在Blade项目中使用IDE的智能提示、自动补全、自动跳转等特性。 1.VSCode VSCode的C/C插件(ms-vscode.cpptools)提供了C/C代码的智能提示、自动补全和调试…

Java编程设计语言-集合类

API(application programming interface)是JDK的重要组成部分,API提供了Java程序与运行它的系统软件(Java虚拟机)之间的接口,可以帮助开发者方便、快捷地开发Java程序 集合在程序设计中是一种重要的是数据结构,Java中提…

数据湖Iceberg-FlinkSQL-kafka类型表数据无法成功写入(6)

数据湖Iceberg-简介(1) 数据湖Iceberg-存储结构(2) 数据湖Iceberg-Hive集成Iceberg(3) 数据湖Iceberg-SparkSQL集成(4) 数据湖Iceberg-FlinkSQL集成(5) 数据湖Iceberg-FlinkSQL-kafka类型表数据无法成功写入(6) 数据湖Iceberg-Flink DataFrame集成(7) 数据湖Iceberg-FlinkSQL-…

Linux离线状态下在anaconda中安装pytorch

1. 下载与安装说明 下载地址(按安装方法选取) bz2压缩包下载地址:https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/win-64/?CM&ODwhl包下载 torch、torchversion、torchaudio下载地址:https://download.pytorc…

【OS】Linux Process Memory的探究

【OS】Linux Process Memory的探究 前言 刷B站刷到了南大OS的课程&#xff0c;不得不说酒吧舞的教育水平真滴高&#xff0c;狠狠的看了一些关于进程地址相关的课程。 进程地址空间 1.导言 先导入两个问题&#xff1a; 如下的程序会输出什么&#xff1f; #include<stdio…

axios的使用,axios的get请求、post请求方式、put请求方式

axios (发音&#xff1a;艾克C奥斯)是前端圈最火的、专注于数据请求的库。react/vue官方都推荐使用axios发送ajax请求&#xff0c;是一个基于 promise 的 HTTP 库&#xff0c;可以用在浏览器和 node.js 中。 中文官网地址&#xff1a;http://www.axios-js.com/ 英文官网地址&a…

快速下载VScode并配置Python运行环境【详细教程】

快速下载VScode并配置Python运行环境【详细教程】 博主&#xff1a;命运之光 目录 快速下载VScode并配置Python运行环境【详细教程】前言下载vscode第一步vscode官网下载第二步点击下载![请添加图片描述](https://img-blog.csdnimg.cn/1d76c427314b4ddcbd350e0a7e5449d5.png)第…

数据湖Iceberg-FlinkSQL集成(5)

文章目录 数据湖Iceberg-FlinkSQL集成环境准备**Flink与Iceberg的版本对应关系如下**jar包下载地址jar包上传到Flink lib目录下修改flink-conf.yaml配置 创建和使用Catalog创建语法说明Hive CatalogHadoop Catalog配置sql-client初始化文件 DDL语句创建数据库创建表创建分区表使…

ubuntu22.04安装ROS2

ubuntu22.04安装ROS2 0.前言一、安装ROS21.首先将本地的编码格式修改为utf-82.添加ROS2 GPG key3.安装ROS24.设置环境变量 二、简单测试1.Hello ROS&#xff01;2.ROS Turtle 三、总结 0.前言 最近也没找到什么特别感兴趣的小项目&#xff0c;不过偶然间看见ROS2这个东西&#…

中期国际:安卓MT4怎么下载以及下载后需要注意哪些问题

投资现货黄金&#xff0c;需要使用到现货黄金软件。一个简单易用的现货黄金软件&#xff0c;就像是给厨师一把趁手的菜刀&#xff0c;以后的使用会得心应手&#xff0c;投资更加顺利。对于投资者来说&#xff0c;什么现货黄金软件才算是好的呢?小编这里推荐MT4软件。如今不少投…