Как правильно инициализировать и вести GIT репозиторий?
Как правильно инициализировать и вести GIT репозиторий по феншую?
Допустим у меня есть модуль для CMS, версии которой несовместимы для обновления, я поддерживаю модуль для разных версий, как правильно инициализировать репозиторий и вести разработку (git flow) на GitHub?
Я так понимаю должны быть ветки:
1.1/master
1.1/develop
1.2/master
1.2/develop
...
К примеру в данный момент актуальная версия CMS 1.1 (1.2 еще не вышла), что я делаю:
1. git init в каталоге модуля
2. Заливаем файлы, делаем первый коммит
3. В данный момент есть одна ветка master, переименовываем в 1.1/master
4. Добавляем к 1.1/master тег v.1.0 (например)
5. Добавляем ветку 1.1/develop (нужно скопировать с 1.1/master)?
6. Добавляем удаленный репозиторий (github), заливаем туда все изменения
Все правильно? Попробовал сделать так, но почему то ветка 1.1/develop стала главной, а тег v1.0 добавился к обеим веткам. Что я сделал не так? Напутал команды? Возможно кто то подскажет нужные команды в порядке очереди?
Вы так шустро branch'и и tag'и с друг другом перемешали. Хотя связи между ними почти никакой. Обычная практика поддерживать несколько branch со стабильными версиями:
# инициализация пустого репозитория
git init
# создание бранча 1_1_stable и заливка файлов в бранч
git checkout -b 1_1_stable
<добавляем файлы>
git commit -m "message here"
git push
# создание бранча 1_2_stable и заливка файлов
git checkout master #на всякие случай лучше начинать с главного бранча
git checkout -b 1_2_stable
<добавляем файлы>
git commit -m "message here"
git push
если вы хотите сделать devel бранч, то идете сначала в стабильный:
git checkout 1_1_stable
git checkout -b 1_1_devel
и работаете с ним и мерджите потом в стабильный (когда готовы)
tag'и это отдельная история - боюсь что немедленной пользы вам это не даст, вы только еще больше запутаетесь. поэтому советую пока вы не разобрались с бранчами о тегах не думать особо.