git 文件状态与工作区域
在上一篇简单讲述了文件状态与工作区域,在这里结合相关git命令详细了解文件的状态变更。
目录
1. 介绍
2. 常用命令
3. 实际操作
1. 介绍
git的文件状态是其git核心内容,了解后对后续的操作有莫大的帮助,不同的文件状态又存储在不同的工作区域中。
下面简单的说明这两者:
1.1 文件状态
git中的文件有以下几种状态:
未跟踪(untrack):表示文件为新增加的。
已修改(modified):表示修改了文件,但还没保存到git仓库中。
已暂存(staged):表示对一个已修改文件的当前版本做了标记,使之包含在下次提交的快照中。
已提交(committed):表示文件已保存在git仓库中。
1.2 工作区域
知道了文件状态,也需要知道不同的文件状态存储在不同的工作区域内。
按照本地计算机与远程计算机划分,工作区域有以下几种:
1)本地计算机
Working Directory(工作目录):即正在编辑的文件状态。文件状态为未跟踪(untrack)和已修改(modified)在此区域内。
Staging Area(暂存区):保存了下次将提交的文件列表信息。文件状态为已暂存(staged)在此区域内。
Repository(本地仓库):提交到本地仓库的文件。
2)远程计算机
Repository(远程仓库):已提交到远程计算机内的文件。
1.3 示例图

2. 常用命令
git clone :将远程仓库clone到本地计算机。
git pull :拉取远程仓库的数据。
git status :展示工作区及暂存区域中不同状态的文件。
git add :将内容从工作目录添加到暂存区。
git commit :所有通过 git add 暂存的文件提交到本地仓库。
git push :将本地仓库的记录提交到远程仓库。
git reset HEAD <file> :从暂存区移除指定文件。
git checkout -- <file> :从本地仓库恢复指定文件。
3.实际操作
看完文件状态分类和相关命令后,来一次实际操作。
3.1 初始状态
git clone 一个仓库后,运行 git status:

3.2 添加一个文件
在此仓库中添加一个文件a.txt,运行 git status:

提示:可以看到文件上方有个 "Untracked files",表示这个文件【未跟踪】。
3.3 新创建的文件添加到【暂存区】
执行 git add a.txt ,将会把新创建的a.txt提交到【暂存区】,执行后运行 git status:

提示:文件上方有说明使用 git reset HEAD <file> 可从暂存区移除指定文件。
3.4 【暂存区】的内容提交到【本地仓库】
执行 git commit ,将【暂存区】的内容提交到【本地操作】,执行后运行 git status:

3.5 【本地仓库】的内容提交到【远程仓库】
执行 git push,将【本地仓库】的内容提交到【远程仓库】,执行后运行 git status:

提示:可以看到提交后git状态又回到初始化状态。
git 文件状态与工作区域的更多相关文章
- eclipse git 文件状态 及git分支的创建与合并与删除
		
eclipse里面Git文件状态及图标展示 EGit会出现如下图标,其对应状态及意义如下: 1)忽略[ ignored ]:仓库认为该文件不存在(如bin目录,不需要关注).通过右键Te ...
 - Git文件状态描述
		
检查当前文件状态 [root@typhoeus79 ice_test_m git_test]# git status # On branch master nothing to commit (wor ...
 - Android Studio配置Git及Git文件状态说明
		
Android Studio配置Git还是比较简单的,麻烦的是可能中间出现各种问题.如果你想了解或感兴趣,请往下看. 首先你得下载Git客户端,网址:http://git-scm.com/downlo ...
 - Git 文件状态的转换
		
很好低使用git 文件的状态转换的了解是非常重要的. 文件转换状态其实可以分为四种: untracked:未跟踪,此文件在工作区中,但并没有加入git库,不参与版本控制. 通过”git add”,”g ...
 - Git文件状态
		
在Git中,文件状态是一个非常重要的概念,不同的状态对应不同的操作.因此,要想熟练掌握Git的用法,需要了解Git的几种文件状态. Git库所在的文件夹中的文件大致有4种状态: Untracked:未 ...
 - 1.Git起步-Git的三种状态以及三种工作区域、CVCS与DVCS的区别、Git基本工作流程
		
1.Git基础 版本控制系统是一种用于记录一个或多个文件内容变化,以便将来查阅恢复特定版本修订情况的系统. Git是一种分布式版本控制系统(Distributed Version Control Sy ...
 - 关于Git的工作区域和对应的文件状态.
		
Git是一个免费的.分布式的版本控制工具,或是一个强调了速度快的源代码管理工具.每一个Git的工作目录都是一个完全独立的代码库,并拥有完整的历史记录和版本追踪能力,不依赖于网络和中心服务器. Git ...
 - GIT文件的三种状态
		
对于任何一个文件,在 Git 内都只有三种状态:已提交(committed),已修改(modified)和已暂存(staged).已提交表示该文件已经被安全地保存在本地数据库 中了:已修改表示修改了某 ...
 - 3.Git基础-查看当前文件状态、跟踪新文件、暂存文件、忽略文件、提交更新、移除文件、移动文件
		
1.检查当前文件状态 -- git status git diff git diff --staged git status :我们可以使用 git status 来查看文件所处的状态.当运 ...
 
随机推荐
- 深入研究ES6 Generators
			
ES6 Generators系列: ES6 Generators基本概念 深入研究ES6 Generators ES6 Generators的异步应用 ES6 Generators并发 如果你还不知道 ...
 - Windows AD域升级方
			
前面的博客中我谈到了网络的基本概念和网络参考模型,今天我们来谈企业中常用的技术,Windows AD 域,今天我的笔记将重点讲解Windows AD 域的升级和迁移方法,通过3个小实验进行配置,真实环 ...
 - python py2与py3的编码问题
			
一:什么是编码 将明文转换为计算机可以识别的编码文本称为"编码".反之从计算机可识别的编码文本转回为明文为"解码". 那么什么是明文呢,首先我们从一段信息说起, ...
 - ssh框架遇到的问题总结
			
1.org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'dataSource ...
 - GO开发[三]:fmt,strings,strconv,指针,控制结构
			
一.fmt包 %v 值的默认格式表示.当输出结构体时,扩展标志(%+v)会添加字段名 %#v 值的Go语法表示 %T 值的类型的Go语法表示 %% 百分号 %t 单词true或false %b 表示为 ...
 - I2S协议
			
(一)I2S总线概述: 音响数据的采集.处理和传输是多媒体技术的重要组成部分.众多的数字音频系统已经进入消费市场,例如数字音频录音带.数字声音处理器.对于设备和生产厂家来说,标准化的信息传输结构可以提 ...
 - [51nod1329]路径游戏
			
Snuke与Sothe两个人在玩一个游戏.游戏在一个2*N的网格中进行(2行N列),这个网格中的2N个格子不是黑色就是白色.定义,一条有效路径是指一个完全由白色格子构成的序列,这个序列的第一个网格元素 ...
 - codeforces  A. Orchestra  B. Island Puzzle
			
A. Orchestra time limit per test 2 seconds memory limit per test 256 megabytes input standard input ...
 - XYZZY(spfa求最长路)
			
http://acm.hdu.edu.cn/showproblem.php?pid=1317 XYZZY Time Limit: 2000/1000 MS (Java/Others) Memor ...
 - ThinkPHP基础知识
			
1.入口文件中定义的内容 // 检测PHP环境if(version_compare(PHP_VERSION,'5.3.0','<')) die('require PHP > 5.3.0 ! ...