git diff 与 git reset

接触Git很长时间了,基本操作已经了然,可发现一些命令仍然不会用,本人想,如果能用的到,为啥不把它做好呢?

文章目录

git diff

  1. git diff (这个会比较工作区和暂存区的区别)。
  2. git diff - - cached (这个比较暂存区与 Head1的区别)。
  3. git diff Head - - filename(这个比较工作区与Head的区别)。

git reset

  1. git rest 命令涉及的主要是版本的回退,比如,你commit 一个file到本地master分支上,但你突然后悔了,你想要原来的分支,怎么回退呢?可以通过git log命令来查看你提交的记录(从最近到最早时间来排序),最后选中你要回退的版本的id,git reset - -hard id,这就大功告成了。
  2. 如果仅仅是修改了工作区,没有add 到工作区,通过checkout --file就能实现,也许有人疑惑,我既然没有add 到工作区,vim修改一下不就好了吗?但是如果你修改错了怎么办?
  3. 如果add 到工作区怎么办?可以通过git reset head - -filename这样就会清空stage区,再次利用checkout - -filname命令就OK了

  1. 即是最后一次commit的内容。 ↩︎

猜你喜欢

转载自blog.csdn.net/weixin_40867255/article/details/84583422