| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > УП: Инструменты > Как разделить проект на две ветки? |
| Автор: zhz 8.2.2012, 09:36 |
| Решил в учебном проекте использовать систему контроля версий (GIT). Дашел до момента, когда необходимо разделить проект на две ветки. Т.е. одна ветка будет идти согласно туториалу, вторая будет расти согласно моим требованиям к результату. Узнал что-то новое из туториала - внедрил в свой проект, както- так. Можно конечно создать два отдельныъх проекта в eclipse, но мне кажется это как то коряво. Создал репозиторий, и прилепил туда проект, время от времени делаю коммиты, назначаю им таги(v0.1.1 v0.1.2 и тд). Создал фундамент(чтение конфигурации, логирование, и тп.) Теперь надо это разделить. Как правильно это сделать? предполагаю, что нужно сделать branch? а далее по необходимости team->replace with->branch. Правильный ли это подход? Или что то упустил? |
| Автор: mstalker26 8.2.2012, 12:29 |
| Звучит логично, если проекты в принципе одинаковые (один просто "заточен" под Вас, но идея одна). Из "туториального" проекта сможете мёрджить изменения в свой и по необходимости допиливать. git merge и git cherry-pick Вам в помощь. P.S. если интересует как при мёрдже не заменять каждый раз конфигурационные файлы, могу выслать свои костыли с merge strategy EDIT: git checkout -b мой_супер_бранч git push origin мой_супер_бранч после выполнения этих процедур, у Вас будет новый бранч. Рекомендую почитать http://progit.org/book/ch3-2.html |
| Автор: zhz 9.2.2012, 03:10 |
| Спасибо за ссылку, весьма полезна. Т.е. я в определенный момент делаю Team->switch To->New branch тем самым создаю новую ветку(branch), предварительно мне необходимо сделать коммит, ибо Git, прежде чем создать новую ветку, должен отправить(откоммитить) весь проект в репозиторий. После этого у меня в репозитории хранятся 2 ветки, и если мне надо работать с той или иной, я сначала делаю коммит(отправляю текущую в репо), и только потом переключаюсь на нужную ветку(Tem->switch To->secondBranch) , оно же - $git commit -m "коммит для ветки мастер" $git checkout secondBranch верно? Только не совсем понятно как работает merge и что такое cherry..... И еще момент, можно ли в Egit (eclipse плагине) работать через CLI, или только по меню скакать? или вообще стоит пересесть на трушный Git? |
| Автор: mstalker26 9.2.2012, 15:29 | ||
| Чтобы ответить на все Ваши вопросы, хотелось бы знать следующее: 1) Вы работаете только локально? т.е. репозиторий создали с помощью git init и дальше только коммитите? 2) Через эклипс-плагин я не работал, использую его только для того, чтобы видеть какие файлы изменились (был неприятный опыт с ним, когда вносил изменения в общий репозиторий, поэтому доверяю только консоли; хотя, возможно, виноваты мои кривые руки 3) merge (слияние) - это перенос изменений из одного бранча в другой. пример:
P.S. опять полезные ссылочки http://evasive.ru/articles/git_kung-fu.html http://www-cs-students.stanford.edu/~blynn/gitmagic/intl/ru/index.html http://habrahabr.ru/blogs/Git/60347/ (очень полное руководство) |
| Автор: maxi2 15.12.2017, 15:19 |
| Отменено |