LINUX.ORG.RU
ФорумAdmin

git hierarchical repush

 


0

1

Всем привет!

Предположим, у меня есть два сервера и клиент гитовые. По определенным причинам, мне хочется сделать цепочку пушей такую клиент->сервер1->сервер2. Проблема в том, что хочется сделать это прозрачно без создания дополнительного коммита от сервер1, то есть дуплицировать так, чтобы лог в сервер2 ничего не содержал про сервер1. Вопрос: как?

В смысле - сработает ли такой вариант, сейчас пока нет возможности его проверить: добавляем в хук на серверный пост-пуш просто строчку git push not_origin? По идее же коммиты вроде есть и файлы при репуше не меняются, а состояние на одном и на другом серверах отличаются. Стало быть, есть вероятность, что получится.

★★

Последнее исправление: aido (всего исправлений: 1)

По определенным причинам

guarded commit?

дуплицировать так, чтобы лог в сервер2 ничего не содержал про сервер1.

git push и так информацию об источнике не добавляет никуда. Надо просто не делать никаких коммитов на сервер1 и всё.

xaizek ★★★★★
()
Ответ на: комментарий от xaizek

guarded commit?

Можно подробнее. Беглый гуглинг ничего не дал.

Надо просто не делать никаких коммитов на сервер1 и всё.

Не получится. Нужна именно такая цепочка.

aido ★★
() автор топика

Могу предложить использовать хук post-receive на «сервере1». Как уже было сказано выше, коммитить ничего не нужно, нужно просто сделать обычный пуш от одного сервера к другому.

https://git-scm.com/book/en/v2/Customizing-Git-Git-Hooks

Octagon
()
Ответ на: комментарий от xaizek

Хотя можно на клиентской стороне дублировать пуш в другой репозиторий, а не с сервера пересылать. Тоже вариант.

aido ★★
() автор топика
Ответ на: комментарий от Octagon

Это без проблем, но не в ближайшие пару-тройку дней. Решил заранее поинтересоваться, умеет ли гит так делать.

aido ★★
() автор топика
Ответ на: комментарий от Octagon

если руки кривые настолько, что вариант с хуком post-receive не сработает, то сделаю на клиентской стороне костылем.

aido ★★
() автор топика
Ответ на: комментарий от Octagon

тему пока не закрываю на случай, если не сработают оба варианта

aido ★★
() автор топика
Ответ на: комментарий от aido

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

guarded commit это когда вместо отправки изменений на главный репозиторий они отправляются на CI и, если всё хорошо, CI отправляет их потом в главный репозиторий.

xaizek ★★★★★
()
Ответ на: комментарий от xaizek

guarded commit это когда вместо отправки изменений на главный репозиторий они отправляются на CI и, если всё хорошо, CI отправляет их потом в главный репозиторий.

Крутая тема. Спасибо, не задумывался об этом.

aido ★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.