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

在学习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

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值