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 命令之前进行备份。
假设我想从另一个分支中检出我当前分支中丢失的所有文件。
我知道我可以通过 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 命令之前进行备份。