比如当前在 master 分支,想临时把项目中的某个文件换成 dev 分支的对应文件或目录,或者某一个 commit 里面的对应文件和目录,其他目录和文件保持不变。

git checkout

对于 git2.23 之前的版本,可以使用 git checkout 命令实现上述需求。

命令中的 dev 是分支名,也可以是任意一次 commit 的 hash,或者其他 tree-ish。

git restore

跟上面的命令不同的地方在于,执行完这个命令之后,此时在 master 分支,dir/f2.txt 文件的还没有处于“暂存”(staged)状态。