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

Git的使用教程(二)查看状态与文件比较

 在实际工作当中,我们可能经常需要对文件做出各种各样的调整,例如新增,修改,删除等等,但是我们不可能准确的记住我们修改了什么文件,修改了哪些内容,但是这些修改操作又对我们十分重要,我们需要知道我们做了什么调整,好有针对性的做出下一步的计划,此时今天要讲的命令就派上用场了。    

    命令:git status

    仓库中的文件可能存在各式各样的状态,例如有的是新增未添加,有的是添加却未被提交,有的是已提交被修改。为了掌握这些文件的状态,我们需要借助于“git status”命令,它可以让我们时刻掌握仓库的当前状态。

    新增加文件后未添加到仓库,需要使用git add来添加到仓库。


    虽然已经添加到仓库后,但是没有提交到仓库,需要使用git commit来提交到仓库。


    新增加的文件已添加并且提交到了仓库,此时工作目录是干净,也就是说没有什么需要被添加和提交的操作。


    已提交过的文件被修改了,需要再次添加和提交。


    温馨提示

    即使一个文件已经被添加和提交入库,但是提交后有所修改的话,仍需要再次添加和提交(即是重复git add和git commit)。

    命令:git diff

    虽然“git status”命令可以让我们了解到哪些文件做出了调整,但是并不能清楚的告诉我们这些文件做出了什么样的调整,这时候“git diff”命令就派上用场了。

    该命令用于比较同一文件两次修改之间的差异,再介绍该命令之前,需要先提示一点,git diff比较的是最后一次git add的内容(old版本)和再次进行git add之前内容(new版本)的比较,如果new版本较之old版本有所改动,则可以通过git diff来查看两者差异。如果修改后又进行了git add提交,并且此后未再对该文件进行修改,则使用git diff不会输出任何内容。git diff跟文件是否被git add有关,跟文件是否被git commit没有关系。

    下面就是通过git diff比较的修改前后文件的差异,其中-号代表修改前的内容(红色部分,最后一次git add时候的内容),+号代表修改后的内容(绿色部分,也就是当前内容),没有符号代表该内容未被修改(白色部分)。



    温馨提示

    在windows下使用git diff的时候,可能会出现"\ No newline at the end of file"的字样,这是因为这个文件的结尾没有空行,我们只需要加一个空行该提示就会消失。

相关文章:

  • Git的使用教程(三)查看日志和版本回退
  • Git的使用教程(四)工作区和暂存区
  • Git的使用教程(五)管理修改
  • Git本地分支与远程分支的追踪关系
  • Git-命令行-删除本地和远程分支
  • Git的使用教程(六)远程仓库
  • 如何去解决fatal: refusing to merge unrelated histories
  • QT跨目录编译及多工程集成(动态库的创建、引用及工程间相互依赖关系的pro文件编写方法)
  • Pro文件变量详细说明
  • 浅谈 qmake 之 pro、pri、prf、prl文件
  • android实现点击两次返回键实现退出功能
  • Qt共享内存的使用
  • Qt for android 弹出Detected problems with app native libraries (please consult log for detail): 解决方案
  • qml去掉标题栏后实现窗口拖动
  • Qt for android 在安卓上面运行app启动闪黑屏的解决方法
  • [Vue CLI 3] 配置解析之 css.extract
  • 【5+】跨webview多页面 触发事件(二)
  • Angular数据绑定机制
  • Java读取Properties文件的六种方法
  • Markdown 语法简单说明
  • Mithril.js 入门介绍
  • Python 使用 Tornado 框架实现 WebHook 自动部署 Git 项目
  • react-core-image-upload 一款轻量级图片上传裁剪插件
  • sessionStorage和localStorage
  • WebSocket使用
  • 百度小程序遇到的问题
  • 创建一种深思熟虑的文化
  • 海量大数据大屏分析展示一步到位:DataWorks数据服务+MaxCompute Lightning对接DataV最佳实践...
  • 记一次和乔布斯合作最难忘的经历
  • 免费小说阅读小程序
  • 强力优化Rancher k8s中国区的使用体验
  • 提升用户体验的利器——使用Vue-Occupy实现占位效果
  • 我的面试准备过程--容器(更新中)
  • 线上 python http server profile 实践
  • 小程序button引导用户授权
  • 一起来学SpringBoot | 第十篇:使用Spring Cache集成Redis
  • mysql面试题分组并合并列
  • ​linux启动进程的方式
  • ​低代码平台的核心价值与优势
  • (2)Java 简介
  • (3)nginx 配置(nginx.conf)
  • (33)STM32——485实验笔记
  • (android 地图实战开发)3 在地图上显示当前位置和自定义银行位置
  • (阿里巴巴 dubbo,有数据库,可执行 )dubbo zookeeper spring demo
  • (分享)自己整理的一些简单awk实用语句
  • (附源码)ssm学生管理系统 毕业设计 141543
  • (蓝桥杯每日一题)平方末尾及补充(常用的字符串函数功能)
  • (三分钟了解debug)SLAM研究方向-Debug总结
  • (深度全面解析)ChatGPT的重大更新给创业者带来了哪些红利机会
  • (一) springboot详细介绍
  • (源码版)2024美国大学生数学建模E题财产保险的可持续模型详解思路+具体代码季节性时序预测SARIMA天气预测建模
  • (最优化理论与方法)第二章最优化所需基础知识-第三节:重要凸集举例
  • .bat批处理(十一):替换字符串中包含百分号%的子串
  • .net core 连接数据库,通过数据库生成Modell
  • .NET MAUI学习笔记——2.构建第一个程序_初级篇