git文件状态转换

        在git管理下的项目当中的文件均有3中状态,分别是已修改、已暂存、已提交。

如下图所示,存于工作区当中的文件修改之后执行add命令,则将修改存于暂存区,

接着执行commit命令,则修改被存于本地仓库当中。以下是三个区间的状态转换图。

image

        举例说明:

        1)初始化一个项目helloworld;

image

          2) 在项目里面添加一个文件 hello.txt,此时hello.txt文件仅存在与工作区当中

Catch24FB

        文件内容为

class Main{

    public static void main(String args[]){

       System.out.println("版本一");
    }

}

          3) 执行git add hello.txt命令,将更改存于暂存区当中

CatchE6BD

           4) 执行git commit –m “one” 命令,更改将存于本地仓库当中

CatchFAF5

           5) 更改hello.txt,此时新版本只存在于工作区间

Catch6F17

           6) 执行git checkout hello.txt;则可以将暂存区当中的版本恢复到工作区间

CatchE594

image

          7) checkout命令可以将文件从暂存区恢复,而reset命令可以将文件从本地仓库当中恢复,

其中reset -- soft命令,可以将文件恢复到暂存区,不会对工作区间有更改;

        reset -- hard命令,可以将文件恢复到暂存区和工作区间。

举例说明,git reset –soft HEAD~1 暂存区恢复到上一次提交

                    git reset --hard HEAD~2 彻底回退到上两次提交

posted @ 2017-01-09 17:27  黄大仙爱编程  阅读(347)  评论(0编辑  收藏  举报