Страницы

Поиск по вопросам

пятница, 24 января 2020 г.

Расширенный патч в git

#git


Если тебе необходимо перенести изменения из репозитория в репозиторий, то ты используешь
git diff -> git apply.

Но в случае, если репозитории отличаются слишком сильно, ты получишь гору ошибок. 
Есть ли возможность в гите создать расширенный патч, который будет содержать не изменения
данного коммита в сравнении с прошлым коммитом, а сами файлы, задетые этим коммитом?

Ну, чтобы даже применив такой патч на абсолютно пустой репозиторий, там бы появились
все файлы, задетые в коммите в репозитории-доноре. (Но не весь репозиторий-донор! Только
файлы задетые в одном коммите!)
    


Ответы

Ответ 1



Есть ли возможность в гите создать расширенный патч, который будет содержать не изменения данного коммита в сравнении с прошлым коммитом, а сами файлы, задетые этим коммитом? то, что вы описали, называется не «патч», а «непосредственно содержимое файлов». ведь «патч» — это разница между двумя конкретными состояниями файла(-ов), а если одно из состояний неизвестно, как в вашем случае, то и получить «патч» (разницу) становится методологически невозможно. я уже давал ответ на подобный вопрос (ваш вопрос фактически является его под-вопросом). привожу только команду, подробности смотрите в том ответе: $ tar -czf /tmp/archive.tgz $(git log --name-only \ --pretty="format:" коммит1..коммит2 | grep -v '^$' | sort -u)

Комментариев нет:

Отправить комментарий