美文网首页
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