2015-04-30 3 views
1

Проект теперь имеет развитую ветвь.git поток для отдельной ветки

каждый раз, когда нужно выпускать новые версии, мы используем:

git flow release publish v.x

git flow release finish v.x

git push origin master

git push origin develop

git push --tags

Теперь, что-то изменилось, проекту необходимо иметь отдельную ветку для публикации специальных версий. Эта ветка имеет коды, которые не нужно объединять в разработке. Мы решили сохранить эту специальную версию отдельно как новую ветвь, а не ветку разработки.

Итак, как использовать git flow для управления публикацией этой новой ветки?

+0

Если его никогда не объединяли в разработку, то как он будет выпущен? Это исправление для определенного выпуска? Существует поток потока git для исправления любой конкретной ветви, которая * вероятно *, о чем вы хотите прочитать. https://github.com/nvie/gitflow#creating-featurereleasehotfixsupport-branches. Вместо этого вы можете воспользоваться поддержкой. Зависит от деталей вашего прецедента. –

ответ

0

Похоже, у вас новый проект. Сохранение другой ветви противоречит религии git-flow и должно быть скорректировано как можно скорее (если вы собираетесь использовать модель, то есть.)

В более серьезной заметке подумайте о двух проектах как о они расходятся дальше друг от друга. Вскоре сходство вряд ли станет узнаваемым, но они имеют одну и ту же историю кода и то же дерево кода.

Так что если вы думаете об этом на некоторое время и решили, что вы действительно хотите разделить это прочь, вот как вы можете это сделать:

Создать новый репозиторий.

$ pwd 
...projectOne 
$ mkdir ../projectTwo 
$ cd ../projectTwo 
$ git init . 
[ create new bare repo as an origin for this repo, add it ] 

Использование ГИТ-пульт, чтобы добавить свой старый, репозиторий разделенного мозга, как вы делали происхождения (вы сделали создать новое начало для нового репо, не так ли?)

$ git remote add oldrepo ../projectOne 

Используйте git-pull, чтобы вытащить ветвь вашего нового проекта с той точки, где он расходится (или, если вам кажется, вам нужна эта история). Вы должны вытащить ветку; Я попытался потянуть ярлык, и это не сработало.

$ git pull oldrepo foo 

Теперь у вас есть новый репозиторий с кодом, который соответствует projectTwo и оригинального репо с projectOne, который вы можете обрезать и PRUNE, как вы считаете нужным.

Теперь вы можете добавить поток GIT к новому репо:

$ git flow init 
[ accept all defaults or rename as your organization sees fit ] 

Вы можете оставить удаленное подключение, тоже:

$ git remote rm oldrepo 

Убедитесь, что все знают об изменениях; возможно, переименуйте ветви на старом репо на . Устаревшие не используют или добавьте некоторые файлы README или что-то еще, что вам нужно сделать, чтобы убедить вашу команду не использовать этот репо для projectTwo.

Смежные вопросы