Страницы

Поиск по вопросам

суббота, 28 декабря 2019 г.

Следует ли коммитить в git промежуточные копии когда библиотека вообще не готова

#git


Я так понимаю система git служит для контроля версий библиотеки и т.п.

Но если стоит иная задача: промежуточные копии когда библиотека вообще не готова.
Например, добавил класс, в нём несколько функций. Библиотека не готова, она не рабочая,
но мне нужно сделать точку восстановления. (Скажем, я не уверен точно каким путём идти
дальше, чтобы можно было вернуться к этому состоянию, или же просто резервная копия
случай сбоя). Коммит делать, как мне кажется нецелесообразно, существуют ли другие
пути для этой задачи? 
    


Ответы

Ответ 1



Мой вариант работы - репозиторий лежит в интернете, работаю с нескольких мест. Коммиты до пуша хранятся локально, поэтому они больше для истории. Пуш в репозиторий в тестовую ветку в любом состоянии - чтобы при продолжении с другого места было доступно текущее состояние. В любом случае благодаря истории коммитов всегда можно вернуться на любой этап. Но при этом вся разработка ведется в отдельной ветке, перед заливкой на боевой сервер рабочей версии - слияние с мастером, перед итоговым пушем в репозиторий дополнительный тест. Правильная идеология - завести ветку testing, в которую коммит без ограничений, пуш по настроению, но слияние с мастером только работоспособной версии. На возможной развилке можно создать новую ветку, потом победивший вариант вливается в testing, тестируется и уходит в мастер. И как написал предыдущий докладчик - использовать тэги для отдельных вех.

Ответ 2



Как раз еще для этого git и существует. Коммит - это сохранение локальных изменений, это не публикация. Вы в любой момент можете просмотреть историю коммитов и откатиться на нужный. По большому счету, коммит - это и есть "точка восстановления". А можете сделать ветку, и в этой ветке работать над какой-то фичей. Переключаясь между ветками, получаете два варианта - код стабильный и код с фичей. После отладки можете слить и удалить ветку. Если не смогли заставить фичу работать, просто удаляете ветку и возвращаетесь к основной.

Ответ 3



Коммит делать, как мне кажется нецелесообразно Гит создан именно для того, чтобы делать коммиты и делать их часто. Можете воспринимать коммиты как сохранения в опасной стрелялке — вы можете сохраняться в каждой удобной ситуации, перед каждым углом и дверью. И не делайте из разработки рогалик, в котором ошибка приведет к тому, что нужно начинать всё заново. Только постарайтесь давать сохранениям осмысленные имена, иначе они будут бесполезны. Ограничивает вас только место на диске (которое расходуется довольно эффективно, там есть сжатие и переиспользование). Скажем, я не уверен точно каким путём идти дальше, чтобы можно было вернуться к этому состоянию, или же просто резервная копия случай сбоя) Резервная копия - каждый коммит является резервной копией. git add <имена файлов и папок> git commit -m'какое-то сообщение, отражающее суть коммита' Посмотреть историю коммитов и выбрать какой-нибудь: git log Вернуться к нужному коммиту/состоянию: git checkout git checkout <имя ветки> Каким путем идти дальше — создаем ветку, она представляет собой альтернативный путь. git branch new-branch-name для контроля версий библиотеки Когда ваша библиотека достигнет статуса релиза, можете сделать очередной коммит и отметить его тегом (tag) git tag Release-1.0

Комментариев нет:

Отправить комментарий