#git
#git
Вопрос:
У меня вопрос о процессе выпуска с помощью Git.
В нашем проекте мы меняем версии МОМЕНТАЛЬНЫХ СНИМКОВ наших артефактов на версии mvn:set -DnewVersion=XXX…
Теперь допустим, что я нахожусь в ветке Release_2019.1, и в моем POM у меня есть версия 2019.1.0-SNAPSHOT now, когда я выполняю версии: набор, конечно, создаст новую версию pom.xml и чтобы иметь возможность помечать, что я должен зафиксировать (поэтому сначала git commit -a -m «Release commit», а затем git tag «Release_2019.1.1»), но это сделает версию для pom также 2109.1.0-SNAPSHOT для ветки Release_2019.1, но если нам нужно исправить ошибку в этой ветке, мы этого не хотим, мы хотим, чтобы она оставалась как 2019.1.0-SNAPSHOT, чтобы более новая версия из этой ветки могла повторить этот процесс (для нас это кажется реальными исправлениями произойдет только тогда, когда мы доставим программное обеспечение в производство процесс выпуска, который я здесь определяю, скорее, когда мы доставим программное обеспечение для тестирования, но мы ожидаем исправления ошибок).
Я знаю, что Git Flow предусматривает тег при выпуске релиза, но не было бы лучше здесь создать новую ветку Release_2019.1.1 и зафиксировать изменения там вместо изменения ветки Release_2019.1?
Или git может пометить эти изменения, не изменяя ветку Release_2019.1?
Ответ №1:
Это очень просто, если вы не поместили тег в свой общедоступный репозиторий. Вы можете перезаписать тег с помощью git tag -f
. Если вы нажали на тег, то любой, кто нажал на тег, должен удалить и выполнить remote update
или git fetch <tag>
, чтобы получить новую версию.