鍍金池/ 問答/HTML5  HTML/ git checkout 和 git reset 的區(qū)別是什么?

git checkout 和 git reset 的區(qū)別是什么?

git log --oneline --all

然后git checkout 和 git reset 的區(qū)別是什么?

找了些資料也沒看明白,希望大神能用通俗的語言講解一下..T_T

回答
編輯回答
執(zhí)念

背景知識:

git下操作文件,它有三個“存儲”文件的地方

  1. 工作區(qū)
  2. 暫存區(qū)
  3. 版本庫

你只要已修改文件,文件就自動出現(xiàn)在工作區(qū),當你修改完了,使用 git add filename命令后,文件被添加到暫存區(qū)。當你使用git commit -m '本次修改備注'命令后,文件(改動)被從暫存區(qū)寫入了版本庫。

回答你的問題

  1. 當你開始修改一個文件后,還沒有執(zhí)行 git add命令前(此時還在工作區(qū)),想撤銷對這個文件的改動,可以使用git checkout -- filename
  2. 一旦你使用了 git add命令將文件添加到暫存區(qū),此時不想改這個文件了,需要用git reset HEAD filename把文件移會到工作區(qū),再使用第一步的git checkout -- filenmae撤銷改動
2018年7月24日 07:32
編輯回答
青裙

checkout不改變分支 (ref)

2018年1月10日 00:06
編輯回答
蟲児飛

這個不是一句兩句說的清楚的。 給個鏈接給你; https://github.com/geeeeeeeee...

2017年1月29日 23:44