美文网首页
checkout和reset都能撤销单个文件的修改

checkout和reset都能撤销单个文件的修改

作者: 阳光共鉴 | 来源:发表于2019-08-22 16:10 被阅读0次

    在学习git的过程中,checkout和reset都能撤销单个文件的修改。

    命令格式:

    * git reset HEAD <file>

    * git checkout -- file

    下面的例子

    ```git

    git reset HEAD readme.txt

    ```

    ```git

    git checkout-- readme.txt

    ```

    ### 之前总是搞不清楚两者的区别,这一次查阅资料进行了总结。

    * checkout 使得工作区和暂存区保持一致,如果暂存区没有内容则和仓库保持一致。

    * reset 使得工作区和仓库保持一致

    这样的特性表现出来就是,checkout能丢且当前工作区的修改。reset会丢弃工作区和暂存区的修改。这也可以理解checkout的意思有确认的意思,也就是说,checkout会进行检查,保证不会把暂存区的内容丢弃,并且总是优先和暂存区保持一致。reset就不会检查,直接丢弃暂存区的内容。

    这里我要提一下,我认为git的一个版本完整的周期是:

    head==》add==》commit

    head就是版本初始状态。

    add就是获得下一个版本前的缓存状态,告诉git你的哪些文件进行了修改,git将这些修改缓存在暂存区。

    commit在github中是保存的意思,对于版本来说,这是产生一个新版本的标志。一旦commit,也就是说一个新的版本已经产生,你已经进入到了一个新的版本周期。

    ### 参考博客:

    https://www.liaoxuefeng.com/wiki/896043488029600/897889638509536

    https://blog.csdn.net/shimazhuge/article/details/77168307

    相关文章

      网友评论

          本文标题:checkout和reset都能撤销单个文件的修改

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