1. 程式人生 > >git diff 與 git reset

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的內容。 ↩︎