git - 如何根据 diff-filter 从另一个分支检出文件?

git - How to checkout files from another branch based on diff-filter?

假设我想从另一个分支中检出我当前分支中丢失的所有文件。

我知道我可以通过 git diff OTHER-BRANCH diff-filter=D 找到这些文件,因为所有被认为已删除的文件都是我当前分支丢失的文件。

有没有办法做某种git checkout OTHER-BRANCH --diff-filter=D?或者您可能必须将所有文件从 git diff 传送到 git checkout?

git diff <BRANCH-NAME> --diff-filter=D --name-only --exit-code | xargs git checkout <BRANCH-NAME>

对复杂的文件名使用 -0 标志 (xargs -0)。 不用说,您应该在测试新的 git 命令之前进行备份。