zoukankan      html  css  js  c++  java
  • Git的各种状态

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

    按照文件的存放位置分:

    在你自建的Git本地仓库中,有三个区域:本地目录、暂存区、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.

  • 相关阅读:
    Linux mint OS
    Patroni 修改配置
    0x10
    01
    split
    IO流18 --- RandomAccessFile实现数据的读写操作 --- 技术搬运工(尚硅谷)
    IO流16 --- 对象流操作字符串 --- 技术搬运工(尚硅谷)
    IO流15 --- 数据流操作Java语言的基本数据类型 --- 技术搬运工(尚硅谷)
    IO流14 --- 打印流的使用 --- 技术搬运工(尚硅谷)
    JDBC2 --- 获取数据库连接的方式二 --- 技术搬运工(尚硅谷)
  • 原文地址:https://www.cnblogs.com/ptqueen/p/6723147.html
Copyright © 2011-2022 走看看