今天無心中發現git
已經從git reset變成restore了,順手去查了一下,發現是去年下半年發佈的API,慚愧,正好年前總結一下。markdown
一句話歸納:這兩個指令是爲了分離checkout的職責spa
相信剛接觸git的時候,都會和我同樣,被checkout繁雜的命令苦惱,一會是切換分支,一會是恢復文件,職責混亂。這兩個指令正是爲了分離checkout的職責。rest
git switch:相似於git checkout,參數有:code
-c <new-branch>:等同於原來的-b
orm
-m:mergeit
-t:trackio
git restore: 相似git checkout -- table
--staged 從stage中恢復至work tree中class
restore和checkout不影響commit history,想改變歷史記錄請使用reset