Ответ 1
Поскольку вы не пытаетесь перемещать файлы в дереве, вы должны иметь возможность просто проверить каталог:
git checkout master -- dirname
Как скопировать все файлы в каталог из другого ветки? Я могу перечислить все файлы в этом каталоге, выполнив
git ls-tree master:dirname
Затем я могу скопировать все файлы по отдельности, выполнив
git checkout master -- dirname/filename
Однако использование подстановочных знаков до сих пор было полным провалом. Это ничего не делает:
git checkout master -- dirname/*.png
Хотя я предполагаю, что могу использовать bash script для этого, должен быть более простой способ, не так ли?
Поскольку вы не пытаетесь перемещать файлы в дереве, вы должны иметь возможность просто проверить каталог:
git checkout master -- dirname
Если в путях нет пробелов, и вы заинтересованы, как и я, в файлах только определенного расширения, вы можете использовать
git checkout otherBranch -- $(git ls-tree --name-only -r otherBranch | egrep '*.java')