Как скопировать все файлы в каталог из другого филиала? Я могу перечислить все файлы в этом каталоге, делаяGit: копировать все файлы в каталог из другого филиала
git ls-tree master:dirname
Затем я могу скопировать все файлы по отдельности, делая
git checkout master -- dirname/filename
Однако, используя групповые символы до сих пор в общей сложности потерпеть неудачу. Это ничего не делает:
git checkout master -- dirname/*.png
Хотя я предполагаю, что я могу использовать Баш скрипт, чтобы сделать это, должно быть проще, не так ли?
Как насчет того, хочу ли я сохранить сообщения фиксации для скопированных файлов? – totels
@totels, строго говоря, нет сообщений о фиксации, связанных с файлами; сообщение фиксации связано с самим объектом commit. Это то, что я предполагаю, что вы хотите: 'git checkout master - dirname; git add dirname; git commit -c $ COMMIT_SHA1 --reset-author; 'где' $ COMMIT_SHA1' может быть как 'branch_a' и будет объектом commit, который имеет сообщение фиксации, которое вы хотите. Я не знаю, как программно определить фиксацию с последним изменением на 'dirname' –
Это имеет очень странный побочный эффект. Он копирует 'dirname' поверх, но также копирует все файлы, находящиеся в' .gitignore' ветви 'master'. Любая идея, почему это так? – Milimetric