Как применить разность мерзавца - двоичные патчи без мерзавца установили?

Я использую для разности мерзавца для генерации патчей, которые могут быть применены к удаленному серверу для обновления проекта.

Локально, я работаю:

git diff --no-prefix HEAD~1 HEAD > example.patch

Загрузите example.patch на удаленный сервер и работайте:

patch --dry-run -p0 < example.patch

Если пробный прогон успешен, я работаю:

patch -p0 < example.patch

Это работает хорошо, кроме тех случаев, когда разность включает двоичные файлы. Сегодня, я нашел, что могу использовать:

git diff --no-prefix --binary HEAD~1 HEAD > example.patch

Проблема состоит в том, что сгенерированный файл исправления не может быть применен с помощью патча.

Как я могу применить эти двоичные файлы исправления, не устанавливая мерзавца сервер?

Я хотел бы поддержать способность использовать пробный прогон.

Спасибо

13
задан Taras Mankovski 15 December 2009 в 21:42
поделиться

3 ответа

Для ответа на странный вопрос вы можете использовать sshfs для монтирования удалённой системы, где бы у вас ни был git, а затем выполнять команды в этом направлении. Подойдите к проблеме с другой точки зрения: Вместо того, чтобы задаваться вопросом, как выполнять команды там, где нет инструмента, почему бы не создать среду, в которой данные будут поступать к вашему инструменту ( через sshfs ? )

.
6
ответ дан 2 December 2019 в 02:11
поделиться

Используйте это

git apply example.patch
git add --patch
git commit

Вы можете опустить флаг --patch, но вы не увидите все изменения и не будете проверять процесс установки исправлений.

-6
ответ дан 2 December 2019 в 02:11
поделиться

Во многих ситуациях и в этом тоже нельзя создавать данные с помощью более продвинутого инструмента и использовать их с менее продвинутым. Счастливым совпадением является то, что patch работает для небинарных git-диффов. git diff вводит расширение к стандартной diff.

Для достижения этой цели вы можете:

  • установить git в систему назначения (это лучший подход, на самом деле)
  • смонтировать систему назначения на локальную, как говорит Чиггси
  • просто scp/rsync новые файлы. Неплохо для маленьких.
2
ответ дан 2 December 2019 в 02:11
поделиться
Другие вопросы по тегам:

Похожие вопросы: