Git ветвление потока для исправления ошибки
Я использовал поток git некоторое время. Я искал модель ветвления для устранения проблем и ошибок, обнаруженных в ветке разработки. Я знаю, что мы могли бы использовать исправление, но оно предназначено для мастер-ветки или для исправления ошибок для производства.
Исправление ошибки при разработке не является особенностью. Я всегда мог бы инициализировать поток git и перезаписать ветку префикса по умолчанию на ошибку /. Но нужно было повторно инициализировать, если мне нужно также запустить новую функцию. Это хорошая практика или есть какая-то техника для этого?
Ответы
Ответ 1
Если исправление, которое вам нужно применить, - это всего лишь одно фиксированное исправление, которое я просто сделал бы в разработке без создания ветки, если он включает в себя несколько коммитов, вы просто используете команду git flow feature
. В настоящее время программное обеспечение будет выполнять git merge -ff
, когда вы закончите ветвь функции только с одним фиксатором, который в ваших журналах будет выглядеть так же, как только комманда при разработке.
Если вы хотите указать в своем журнале, что эта функция будет исправлена, вы можете просто назвать ветку чем-то вроде "bugfix-missing-parameter" или "issue-34-not-reading-file-correct"
Я вижу, как функция слова может означать "что-то новое" вместо "исправления", но это просто слова. Должен ли я создать новую команду для исправления, код будет выглядеть точно так же, как и код git flow feature
, поэтому я не вижу в этом никакой пользы.
Обновление от 19 ноября 2015 г.
Начиная с версии 1.9.0, в gitflow AVH Edition имеется команда bugfix. Это то же самое, что и функция, но ветка имеет префикс с исправлением ошибок вместо функции.
Ответ 2
Идея исправления ошибки в ветки development
, в отличие от git flow hotfix
(на master
), такова:
- вы обычно исправляете ошибку при разработке
HEAD
(это просто еще одна фиксация, которая исправляет некоторые проблемы, введенные другими коммитами)
- вы делаете исправление на определенной версии/теге master ( "
production
branch" ) в выделенной ветки, и вы или не будете объединять это исправление (если исправление очень специфично для определенной версии, и больше не относится к последующим выпускам, вы вообще не будете их объединять)
Итак, я не думаю, что вам нужна специальная ветвь / "git flow
": просто сделайте хорошо идентифицированный фиксатор и нажмите его поверх ветки development
.
Ответ 3
git-flow-avh
- это то, что вы хотите
Для osx:
-
brew uninstall git-flow
-
brew uninstall git-flow-avh
В папке проекта:
-
git init
- вы должны видеть среди приглашений -
Bugfix branches? [bugfix/]
, которые не были бы приглашением со стандартным git-flow
- запустите новое исправление -
git flow bugfix start <branch name>