Фиксация изменений во вложенных поддеревьях git
Я много читал о поддеревьях git в качестве альтернативных подмодулей, и мне было интересно, как лучше всего обрабатывать вложенные поддеревья в отношении внесения изменений:
Скажем, у вас есть проект A с подпроектом B в качестве поддерева (поэтому A является родительским).
Если я внесу изменения в B во время работы в A, мне нужно использовать git subtree push, чтобы перенести изменения в B.
Точно так же, если я внесу изменения в B во время работы в B, чтобы принести эти обновления в A I, нужно использовать git subtree pull.
Мой вопрос заключается в том, как вы справляетесь с фиксацией изменений, если добавляете еще один подпроект C, который является поддеревом в B (то есть B является родителем C). Насколько я понимаю, ниже, как вы это сделаете. Есть ли способ лучше?
Допустим, вы работаете в проекте A, а затем вносите изменения в C. Чтобы перенести эти изменения в C, вам нужно дважды нажать git поддерево:
1. Нажмите Git поддерево от A до B, затем
2. Git подтянуть дерево от B до C
Аналогично, верно обратное при внесении изменений в C во время работы в C и git subtree pull.
Это немного повторяется, поэтому мне было интересно, есть ли другой способ сделать это. Возможно, лучшим способом было бы вообще не использовать поддеревья? Если нет, что будет альтернативой?