По сути, я хочу
git diff HEAD branch1 -- foo.txt > patch.txt; git apply patch.txt
Как мне сделать это за один шаг?
И, дополнительный вопрос: Как я могу указать маскудля файлов типа **/*.xml?
**/*.xml
Вы можете проверить отдельные файлы из веток (ну, любой коммит) следующим образом:
git checkout branch1 -- foo.txt