今天无心中发现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