git checkout與git reset有啥區別嗎
git checkout與git reset有啥區別嗎
慕工程0101907
2018-12-02 04:00:11
TA貢獻1884條經驗 獲得超4個贊
git checkout主要有三個作用:
第一個就是切換分支。例如你從遠程倉庫clone下來所有的源代碼,你git branch一下會看到你通常是在master,如果你想切換到某一個分支上呢?git checkout <branchname>
第二個就是放棄對某個文件的修改。例如你想放棄對某個文件Hello.cpp的修改,git checkout -- <Hello.cpp>
第三個就是新建一個分支,git checkout <-b> <branchname>,不加-b的話只新建不切換到新的分支上,加-b新建并切換到該分支上
git reset主要是取消上一次的操作,具體用法有很多,說兩個:
第一個取消merge,git reset --hard ORIG_HEAD,這樣會退回到merge前的代碼。
第二個就是取消commit,git eset HEAD~<num> <-soft/-hard>,取消上num次的commit
第三個是將文件從stage(追蹤的庫)中移除,git reset HEAD <filename>
舉報