博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Git的各种状态
阅读量:7250 次
发布时间:2019-06-29

本文共 878 字,大约阅读时间需要 2 分钟。

考:http://blog.csdn.net/wirelessqa/article/details/19548057

按照文件的存放位置分:

在你自建的本地仓库中,有三个区域:本地目录、暂存区、HEAD。

 

  • 工作目录:也叫work tree, 就是受Git控制的文件夹,所有被跟踪记录的文件都包括在其中;

  • 暂存区(index或者stage):类似一个缓存区域,临时保存你做的改动;

  • HEAD:指向最近一次提交后的结果。

按照文件的状态分:

工作目录下面的所有文件都不外乎这两种状态:已跟踪或未跟踪

  • 未跟踪的文件的改动不受到Git的。

  • 已跟踪的文件,即被纳入版本控制的文件,又分为未修改(unmodified)、已修改(modified)、已暂存(staged)三种状态。

 

  • 当在工作目录中新加入一个文件时,它处于未跟踪状态,这表示其没有纳入Git的版本控制。

  • 通过 git add 命令可以将其加入跟踪,并同时放入暂存区。

  • 一个已经被跟踪的文件,如果没有做过新的修改,就是未修改状态。

  • 一旦对其做了改动,就变成了已修改状态。通过 git add 命令可以将已修改的文件放入暂存区。

  • 初次克隆某个仓库时,工作目录中所有文件都是已跟踪且未修改的状态。

  • git commit 命令会将暂存区中的文件提交至HEAD所指向的分支。当被commit之后,暂存区的文件将回到未修改状态。

对于如下图所示的git status

最上面的两行绿色,表示已经通过git add 将new file和修改放入暂存区了.

下面的一行红色,表示修改过了,但是没有git add提交修改,也就不会放入暂存区

最下面两行,untracked,没有加入版本控制.

所以git add和git rm是打通工作目录和暂存区的桥梁.

其实git add应该是将untracked和modified连接到staged,貌似上图不对.

PS:对于暂存区,也叫stage或者index或者cached.

转载于:https://www.cnblogs.com/ptqueen/p/6723147.html

你可能感兴趣的文章
Swift 5进入发布倒计时
查看>>
一套代码称霸5大端口,移动金融应用还能这样开发?
查看>>
MIT开发Polaris,使网页载入加快34%
查看>>
微软对macOS和Linux开放量子开发工具集
查看>>
一份关于Angular的倡议清单
查看>>
没有估算,你仍然可以用这些决策策略
查看>>
通过调研开源基准测试集,解读大数据的应用现状和开源未来
查看>>
译文-调整G1收集器窍门
查看>>
时序数据库InfluxDB 2.0 alpha 发布:主推新的Flux查询语言,TICK栈将成为整体
查看>>
开源是项“全民工程”,揭秘开源团队的管理运作
查看>>
基于Gitflow分支模型自动化Java项目工作流
查看>>
ES6学习之一
查看>>
专访何红辉:谈谈Android源码中的设计模式
查看>>
超2亿中国用户简历曝光!MongoDB又一重大安全事故
查看>>
网易云信周梁伟专访:亿级架构IM平台的技术难点解析
查看>>
独家揭秘腾讯千亿级参数分布式机器学习系统无量
查看>>
Dubbo Mesh在闲鱼生产环境的落地实践
查看>>
微软Build 2017第二天:跨平台跨硬件开发体验
查看>>
精益项目管理的可行性分析
查看>>
Bitbucket Pipelines在Atlassian的Bitbucket云上提供持续交付功能
查看>>