git checkout文件夹到底是做什么的?

时间:2019-12-23 14:43:39

标签: git branch checkout

当我git checkout branch -- app/期望被另一个分支的app文件夹的内容覆盖app文件夹中的所有本地文件时。但实际上,它会覆盖相同名称的文件,但不会删除仅存在于我的应用程序文件夹中的文件。并且结果文件夹与目标分支中的文件夹不同。为什么这样工作,以及如何在不保留旧文件的情况下检出整个文件夹?

1 个答案:

答案 0 :(得分:2)

与树状路径一起使用时,git-checkout从树中检出路径中匹配的文件。

它不触摸其他文件。如果您想完全从另一个分支复制该文件夹,则可能必须

git rm path
git commit
git checkout branch -- path

但是为什么您仍然需要这样做?

或者,我想您可以将存储库克隆到附近的另一个目录中,然后

git -C newrepo checkout branch
mv newrepo/path oldrepo/path
rm -r newrepo