美文网首页
1.9 git reset HEAD 管理暂存区中的文件

1.9 git reset HEAD 管理暂存区中的文件

作者: 黄刚刚 | 来源:发表于2019-06-06 11:38 被阅读0次

    主要使用的命令:git reset HEAD、git checkout

    [root@localhost hd]# touch i.php

    [root@localhost hd]# git status

    # 位于分支 master

    # 未跟踪的文件:

    #  (使用 "git add <file>..." 以包含要提交的内容)

    #

    #      i.php

    提交为空,但是存在尚未跟踪的文件(使用 "git add" 建立跟踪)

    步骤解释:创建一个i.php文件,查看工作区状态,这时可以看见i.php文件还没add加入缓存区

    [root@localhost hd]# git add .

    [root@localhost hd]# git status

    # 位于分支 master

    # 要提交的变更:

    #  (使用 "git reset HEAD <file>..." 撤出暂存区)

    #

    #      新文件:    i.php

    #

    解释:这时 , i.php文件还未commit提交 , 只是add加入到了缓存区可以提交变更

    [root@localhost hd]# vi i.php

    [root@localhost hd]# git status

    # 位于分支 master

    # 要提交的变更:

    #  (使用 "git reset HEAD <file>..." 撤出暂存区)

    #

    #      新文件:    i.php

    #

    # 尚未暂存以备提交的变更:

    #  (使用 "git add <file>..." 更新要提交的内容)

    #  (使用 "git checkout -- <file>..." 丢弃工作区的改动)

    #

    #      修改:      i.php

    #

    解释: 修改了i.php后,查看工作区状态显示i.php这个文件有两个变更 ,

             1.暂存区i.php可以commot提交, 

             2.对i.php文件的修改还未add加入到暂存区

    下面来试试 , "git reset HEAD <file>..." 撤出暂存区

    [root@localhost hd]# git reset HEAD i.php

    [root@localhost hd]# git status

    # 位于分支 master

    # 未跟踪的文件:

    #  (使用 "git add <file>..." 以包含要提交的内容)

    #

    #      i.php

    提交为空,但是存在尚未跟踪的文件(使用 "git add" 建立跟踪)

    [root@localhost hd]# cat i.phpdsfasdfa

    解释:可以看到,执行完git reset HEAD i.php命令后 , i.php 撤出暂存区了 , 但是i.php文件修改的内容没有影响 , 只是撤出暂存区

    [root@localhost hd]# git add .

    [root@localhost hd]# git commit -m "首次提交i.php文件"

    [root@localhost hd]# vi i.php

    [root@localhost hd]# cat i.php

    dsfasdfa

    新增内容:哈哈哈哈

    [root@localhost hd]# git status

    # 位于分支 master

    # 尚未暂存以备提交的变更:

    #  (使用 "git add <file>..." 更新要提交的内容)

    #  (使用 "git checkout -- <file>..." 丢弃工作区的改动)

    #

    #      修改:      i.php

    #

    修改尚未加入提交(使用 "git add" 和/或 "git commit -a")

    [root@localhost hd]#

    解释:重新把i.php加入暂存区并commit提交了之后再次修改一下文件内容,查看工作区状态,i.php的修改还未加入到暂存区

    来使用"git checkout -- <file>..." 丢弃工作区的改动

    [root@localhost hd]# git checkout -- i.php

    [root@localhost hd]# cat i.php

    dsfasdfa

    解释:可以看到,对i.php文件的修改还未加入缓存区并提交的i.php,重新git checkout后已经回退到版本库的版本了,修改的内容不在了

    相关文章

      网友评论

          本文标题:1.9 git reset HEAD 管理暂存区中的文件

          本文链接:https://www.haomeiwen.com/subject/kkeyxctx.html