Я пытаюсь настроить скрипт для автоматической перестановки изменений из ветки разработки в ветки, содержащие дочерние модули Maven.
Способ настройки этого проекта заключается в том, что ветвь разработки содержит родительский модуль. Все изменения поступают в этот модуль и объединяются с веткой разработки. Для того чтобы дочерние модули могли получить эти ошибки, их необходимо перенести на разработку. Сами дочерние модули никогда не должны изменяться в rebase.
Когда я пытаюсь использовать свой сценарий для перебазирования дочерней ветви в разработку, я получаю конфликт, в котором говорится, что дочерний модуль был удален в ветви разработки. Это имеет смысл, так как этот модуль не существует в разработке. Мне нужно, чтобы rebase игнорировал все, что связано с дочерним модулем, поэтому я добавил эту строку в .gitignore в проекте:
*_module/
Соглашение об именах каждого дочернего модуля имеет в конце _module,так что с *, тогда каждая ветвь должна иметь возможность игнорировать рассматриваемый дочерний модуль, независимо от имени. Однако это не сработало. Я еще ничего не нашел в отношении этого варианта использования, и мне интересно, есть ли у кого-нибудь еще какие-либо советы о том, как действовать.
Вот общая структура файлов ветви разработки:
project+
|
+-src+ #parent module
| |
| +-main #where changes to the code occure
|
+.gitattributes
|
+.gitignore
|
+pom.xml
А вот структура ветки с дочерним модулем:
project+
|
+-test1_module+ #child module in maven. Need to ignore this in .gitignore, or some equivalent
| |
| +-src+
| |
| +-assembly
| |
| +-main
|
+-src+ #parent module
| |
| +-assembly
| |
| +-main
|
+.gitattributes
|
+.gitignore
|
+pom.xml
РЕДАКТИРОВАТЬ: Чтобы было ясно, я не хочу удалять этот дочерний модуль из репозитория git;Я просто хочу игнорировать или пропустить любые изменения во время ребазинга.