从`git checkout`转到`git switch`和`git restore`

1. Git checkout 的多功能性

git checkout在过去承担了两个主要任务。

    1. 切换到分支或提交

 

    将工作目录中的文件恢复到特定状态

这些功能都集中在一个命令中,给人们带来了很多混乱。

2. 新命令:git切换和git恢复

在 Git 2.23 中,引入了一个新的命令,用于明确分离上述的两个任务。

git switch: ブランチやコミットへの切り替えに特化

git restore: ワーキングディレクトリやステージングエリアの変更を復元するためのコマンド

这个变更使得每个命令的角色更加明确,操作Git的直觉性增强了。

3. 命令的改变点: 对应表

古いgit checkoutの使用方法新しいコマンドgit checkout <branch>git switch <branch>git checkout -b <new-branch>git switch -c <new-branch>git checkout <file>git restore --source=HEAD --staged --worktree <file>git checkout -- <file>git restore --source=HEAD --worktree <file>git checkout --patch <file>git restore --source=HEAD --patch <file>

4. Git restore的注意事项

如果在没有指定选项或文件路径的情况下运行git restore,则会显示”fatal: you must specify path(s) to restore”错误消息。这是因为需要明确指定要恢复的文件或目录的路径。

广告
将在 10 秒后关闭
bannerAds