Git中三种文件状态及其转换

Git中三种文件状态及其转换

Git作为一种版本控制解决方案,由于其具有的分布式特性,正被越来越多的用户熟知,一些有名的开源项目,如:Linux kernel,CakePHP,Ruby on Rails等,都在使用Git进行版本管理。

 

在Git中,文件状态是一个非常重要的概念,不同的状态对应不同的操作。因此,要想熟练掌握Git的用法,需要了解Git的几种文件状态。

 

为了说明的方便,现在初始化一个项目,也就是将项目所在目录纳入Git的管理之下。假设项目目录为hello_world,初始化之后,在目录下新建README.txt文件,接着,使用“git status”查看文件状态,如图:

 

Git中三种文件状态及其转换

 

可以看到,Git友好的标示出README.txt为“Untracked files”,并且提示使用“git add <file>…”的命令将文件包含到待提交清单中。按照提示,使用“git add README.txt”命令,然后,使用“git status”查看文件状态,如图:

 

Git中三种文件状态及其转换

 

文件README.txt状态变成了“Changes to be committed”,也就是说README.txt在暂存区域生成了快照,等待被提交。正如Git所提示的那样,通过“git rm –cached README.txt”命令,可以将文件状态还原为未暂存状态,即回到“Untracked files”文件状态。现在,README.txt已经可以被提交到git目录中了,但是暂时不提交。打开README.txt,向其中加些内容,保存之后,用“git status”查看,返回如图信息:

 

Git中三种文件状态及其转换

 

可以看到,除了之前的“Changes to be committed”状态,现在又多了一条“Changes not staged for commit”状态,表明文件已经修改,但是还没有放入暂存区域,也就是没生成快照。如果现在进行commit操作,只是将修改之前的文件快照提交到了git目录,一定记住:只有暂存区域的文件(即:文件状态为“Changes to be committed”)才会被提交。正如提示,通过“git add README.txt”命令将已修改文件更新到暂存区域中,如果想撤销修改,可以使用“git checkout — README.txt”命令。

 

正如上文所说,Git在未进行commit操作之前,存在三种状态:Untracked files,Changes not staged for commit及Changes to be committed,每种状态之间可以随意进行互相转换。了解这三种状态各自所对应的不同情况,能够帮助你方便有效的使用Git来管理项目。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/113324.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • 倒立摆matlab仿真程序_倒立摆状态空间建模

    倒立摆matlab仿真程序_倒立摆状态空间建模Matlab程序设计上交作业要求1纸质文档设计分析报告一份包括系统建模、系统分析、系统设计思路、程序及其执行结果。2Matlab程序按班级统一上交后备查。题目一考虑如图所示的倒立摆系统。图中倒立摆安装在一个小车上。这里仅考虑倒立摆在图面内运动的二维问题。图倒立摆系统假定倒立摆系统的参数如下。摆杆的质量m=0.1g摆杆的长度2l=1m小车的质量M=1kg重力加速度g=10…

  • QAS传输

    QAS传输 *StartSTMS   *Usethemenu”Extras-otherrequests-Add”   *enterthetransportnumberandclickthe”Importagain”buttonNowyoucanre-importtherequest. 

  • phpstorm激活码 3月最新注册码

    phpstorm激活码 3月最新注册码,https://javaforall.cn/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

  • pycharm使用技巧及常用快捷键_全屏快捷键

    pycharm使用技巧及常用快捷键_全屏快捷键Pycharm常用快捷键1、编辑(Editing)Ctrl+Space基本的代码完成(类、方法、属性)Ctrl+Alt+Space快速导入任意类Ctrl+Shift+Enter语句完成Ctrl+P参数信息(在方法中调用参数)Ctrl+Q快速查看文档F1外部文档Shift+F1外部文档,进入web文档主页Ctrl+Shift+Z–>Redo重做Ctrl+鼠标简介/进入代码定义Ctrl+F1显示错误描述或警告.

  • xml转为excel_excel表格怎么转换xml格式

    xml转为excel_excel表格怎么转换xml格式旧版的excel文件OfficeXML是xml类型的,也成为SpreadsheetML类型,很古老的excel类型了是2002年左右的格式,现在的格式都是用的xls或者xlsx。遇到的问题就是要把xml类型的OfficeXML转化为xlsx的excel,所以写了本篇文章方便以后遇到这个问题的人。(注意,本文的代码只支持横向的单元格合并,纵向合并的单元格因为会受到横向合并的单元格而对不齐)二、解析类SAXHandler类XmlConvertExcel类XmlRow类三、测试

  • c++查找文件的方法[通俗易懂]

    c++查找文件的方法[通俗易懂]CFileFindfinder;  BOOLbWorking=finder.FindFile(szBuf);unsignedshort slogtype=0;   while(bWorking) {    bWorking=finder.FindNextFile();    CStringstrfilename=fin

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号