git status查看工作区状态

责编:menVScode 2018-02-26 1:41 阅读(821)

        1、在工作区域添加一个README.md文件,内容为:this is a big project!

        【1】然后用命令 git add 告诉Git,把文件添加到暂存区域:

git add README.md

        执行上面的命令,没有任何显示,这就对了,说明添加成功。

        【2】在然后用命令 git commit 告诉Git,把文件提交到Git仓库:

git commit -m "add a readme.md file"
[master (root-commit) 4b772e5] add a readme.md file
1 file changed, 1 insertion(+)

        git status:使用该命令可以随时的查看git的工作区域状态;

git status
On branch master // 位于master分支,默认分支
nothing to commit, working tree clean // 当前工作目录没有可提交的内容

        

        2、在工作区域添加 MIT License 协议的 LICENSE文件,该协议开源中最宽松的。比如你用了我的代码,只需要包含协议文字就可以了,然后就任意处理我的代码了。

        【3】再来执行 git status 命令

QQ截图20180226163253

        上面代码显示的意思:LICENSE开源协议在master分支上是未被跟踪的文件,显示红色状态;未被跟踪文件(Uutrack files)指的是那些新添加的文件,但没有被放入暂存区的文件。一旦将未被跟踪的文件提交到暂存区或者git仓库,那么这些文件就会受到git的跟踪了。

        【4】执行 git add LICENSE 命令添加到暂存区,再次执行 git status

QQ截图20180226165029

        上面代码显示LICENSE文件已经成功地提交到暂存区,显示绿色文字状态。

        (use "git reset HEAD <file>..." to unstage):作用是恢复暂存区;因为刚刚将 LICENSE 文件添加到暂存区了,覆盖了暂存区原有的内容了。如果你反悔不想让git跟踪你的 LICENSE 文件,可以使用它推荐给你的这个命令。这命令的作用是将最近一次提交到git仓库的文件恢复到暂存区域(将暂存区域恢复为先前的状态)。

        file 是可选的,比如:git reset HEAD README.md,是将最后一次的 README.md 文件恢复到暂存区域;如果不指定file,那么将最后一次提交的所有内容恢复到暂存区。

        【5】执行 git reset HEAD 命令,在执行 git status 命令

QQ截图20180226174201

        【6】将 LICENSE 文件提交到 git 仓库

git add LICENSE

git commit -m "add a LICENSE file"

[master bba5741] add a LICENSE file
1 file changed, 21 insertions(+)
create mode 100644 LICENSE

        【7】执行 git status 命令

git status
On branch master
nothing to commit, working tree clean

        【8】修改了 LICENSE 文件的内容后,再次执行 git status 命令

QQ截图20180226180222

        由于对工作目录文件的修改,导致文件与暂存区文件不匹配了,因此git给出了两天建议。

        use "git add <file>..." to update what will be committed:用 git add 命令将工作目录下新版本文件覆盖暂存区,然后进行提交。

        use "git checkout -- <file>..." to discard changes in working directory:使用 git checkout 命令将暂存区的旧版本覆盖掉工作目录的新版本。慎重使用。

        【9】执行 git git checkout -- LICENSE,在执行 git status

git checkout -- LICENSE

gittest>git status

On branch master
nothing to commit, working tree clean

        【10】再重新修改LICENSE 文件的内容后,并提交到暂存区 git add

QQ截图20180226193037

        【11】再再次修改LICENSE 文件,并执行 git status 命令。

QQ截图20180226194943

        绿色状态的文件在暂存区等待被提交,同时红色状态的文件还在工作目录等待被提交到暂存区。这个时候存在两个不同版本的LICENSE 文件,要记得本地仓库由工作区域、暂存区域和 Git 仓库组成,每个区域可以存放不同文件。如果这个时候使用git commit命令,是将暂存区的LICENSE 文件提交到git仓库。如果需要覆盖暂存区的LICENSE 文件,那就执行git add命令。

        【12】执行 git add LICENSE  命令,覆盖掉暂存区的 LICENSE,然后提交到git仓库。

git add LICENSE

git commit -m "change a LICENSE"

[master 16689b4] change a LICENSE
 1 file changed, 1 insertion(+), 1 deletion(-)


        3、使用 git log 查看历史提交目录,提交记录是按提交时间由近到远顺序来排序。

git log

commit 16689b4459a69a006aa5c5bbf22f1a8331d4bcb0 (HEAD -> master)
Author: menvscode <546866990@qq.com>
Date:   Mon Feb 26 19:52:14 2018 +0800

    change a LICENSE

commit bba574131af825cd78cf1100afffcd4622c0599d  // git为每次提交自动生成id,唯一的,通过id可以找到对应的版本
Author: menvscode <546866990@qq.com>
Date:   Mon Feb 26 17:53:07 2018 +0800

    add a LICENSE file

commit 4b772e50a792c37232d7dc9e40b944741a4f2759
Author: menvscode <546866990@qq.com>
Date:   Mon Feb 26 01:19:04 2018 +0800

    add a readme.md file
标签: git
前端交流群: MVC前端网(menvscode.com)-qq交流群:551903636

邮箱快速注册

忘记密码