Работа над несколькими взаимозависимыми проектами с Git

Моя проблема заключается в следующем:

Я разрабатываю 2 пакета Python A, а B и B используют A. Таким образом, когда я что-то изменяю в пакете A, мне часто приходится вносить небольшие изменения в пакет B для адаптации вызовов функций и т. Д.

Оба моих пакета являются репозиториями git. Я хотел бы иметь возможность фиксировать изменения из обоих репозиториев в одном коммите. Тем не менее, я хочу сохранить возможность фиксировать отдельно в каждом репо.

Я проверил подмодули git и рабочее дерево git, но это не совсем то, что мне нужно. Вы знаете какой-нибудь другой метод?

Благодарю.

1 ответ

Решение

Я не думаю, что это возможно. Коммит - это, в основном, набор файлов, которые живут в базе данных объектов, а сам коммит сохраняется в той же базе данных, которая находится внутри .git/, Следовательно, один коммит из одного репозитория не может содержать файлы из другого, поэтому вы не можете фиксировать сразу несколько репозиториев.

Если вы чувствуете необходимость изменить оба репозитория в одном коммите, возможно, их следует объединить в один репозиторий (я понимаю, что могут быть причины не делать этого). Или, может быть, вам следует пересмотреть способ интеграции одного с другим, чтобы изменение одного не всегда вызывало изменение другого. В конечном счете, звучит так, будто вы пытаетесь использовать не тот инструмент для работы.

Другие вопросы по тегам