@sprashivatel

В чём суть коммитов в одной и той же ветке?

Попробовал гитом попользоваться, чёт не очень вкурил: ну вот я создал новую ветку (версию) из мастера и погнал редачить, коммиты какие-то непонятные делаю.

Ну если с ветками понятно: перешёл в неё и ты в том состоянии в котором эта именно ветка (версия) находится, то я не понял с коммитами, как по ним делать откат например на какое-то состояние:

Коммиты ветки Test:
1. добавлен контроллер Test
2. добавлен метод контроллера Test::test
3. добавлен вид /view/Test/test.php
4. добавлена модель Test

как мне в ветке перейти с позиции 4 на позицию 1 и чтобы не было позиций 2-4 в проекте чтобы файлов этих не было

Если никак, то зачем коммиты?
  • Вопрос задан
  • 161 просмотр
Решения вопроса 1
@majstar_Zubr
C++ & gamedev
Если разработка ведётся одним разработчиком, то вы вольны использовать любой workflow, который вам удобен.

Но обычно подобные репозитории, в среднем по больнице, выглядят следующим образом:

Ветка master: каждый коммит означает новую версию, которая билдится без ошибок.

Ветка devel: может отсутствовать, но обычно её используют как текущую, которая, когда нет настроения/времени заканчивать работу над новой функциональностью.

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

Конечно, много веток делать, не стоит, потому что желательно делать rebase для каждой ветки, чтобы они смотрели на последний коммит develop, и желательно, чтобы develop тоже всегда билдился.

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

Только учтите, что при переходе к совместной разработке вам придется пересмотреть своё понятие об атомарности.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
ЧИТАЙ-ГОРОД Москва
от 80 000 до 120 000 ₽
от 180 000 до 200 000 ₽
Amigoweb Магнитогорск
от 50 000 до 70 000 ₽