最近在命令行使用git命令时,发现了一些重要变化,特此记录。
使用git status
时,有如下关于恢复文件的提示
1 | Changes not staged for commit: |
印象中以前git restore
处的提示是git checkout
。
经查阅,这是git的在新版本2.23发布的一个重要变更。
git checkout
包含了2个核心功能:一个是分支管理,一个是文件恢复。git checkout
命令承载了太多的功能,常常让新手感到困惑。 于是,git社区决定将git checkout
拆分为git switch
和git restore
分别负责相应的功能。git checkout
将逐渐退出历史的舞台。
新旧写法比较
分支管理
1 | 切换分支 |
文件恢复
实际上,2.23版本以前有2种文件恢复方式,分别是git checkout
和git reset
。
新旧用法如下
1 | 将文件从暂存区移除,文件内容修改不会被撤销 |