Git скопировать одну папку в другую ветку

Рейтинг: 0Ответов: 1Опубликовано: 22.01.2023

У меня есть 2 ветки main и dev. В ветке dev несколько файлов: gulpfile.js, package.json и папка app. Я хочу скопировать из ветки dev в ветку main только содержимое папки app и все. Не подскажите как можно это сделать? Спасибо.

Ответы

▲ 2Принят

Существует несколько способов, выбор зависит от того, в каком виде вы хотите получить дерево истории.

Способ №1: Переключиться на ветку dev, скопировать папку app куда-нибудь вне репозитория, переключиться на master, скопировать app обратно, выполнить commit с комментарием типа "актуализация master из dev". В дереве истории никакой связи между dev и master не появится.

Способ №2: Переключиться на ветку master, выполнить merge ветки dev с ключом --no-commit, вручную откатить изменение всех файлов вне папки app, выполнить commit. В дереве истории вы получите коммит слияния с нужным содержимым.

Способ №3: Интерактивный rebase из dev в master только тех коммитов, что меняли папку app. Не рекомендуется для новичков. И сама ветка dev заранее должна была вестись разработчиком с высокой культурой использования git.