мою ветку смержили в дев, затем нашли ошибку там.
Теперь если я исправлю эти ошибки у себя локально, затем сделаю git push origin myBranch, то моя ветка вернется в состояние НЕсмерженное ??
Отменить публичные изменения командой git revert и доделать изменения с пушом после этого
ну или создать новую ветку наследуюмую от дева и там исправить и запушить
Cпасибо. Но у меня в этой ветке три коммита, мне для каждого локально делать git revert? И вопрос, если я после исправлений сделаю git push origin myBranch то смерженная ветка в девелоп (расположенная удаленно) вернется в состояние unmerged?
ветка — это просто указатель на коммит. У неё нет состояний "смёржено" или "не смёржено". На один коммит можно сделать десяток указателей с разными именами и это будут разные ветки. UPD: ниже меня поправляют
Спрошу иначе. Мой МР смержили в дев (там три коммита). Затем выясняется что там все неправильно. Вопрос. Мне создавать новую ветку от дева для новых изменений и новых коммитов? Или же мне надо исправлять и работать с той веткой которую смержили?
git revert commit1..commitN В итоге получится новый коммит отменяющий изменения всех из перечисленных, а дальше исправляйте )
Зависит от правил в вашей команде. Я обычно работал в командах, в которых принято продолжать изменения в своей feature-ветке
Насчет состояния "смержено". При удалении локальных веток через git branch -d branchname (со строчной d) удаляются только смерженные ветки
После мержа у вас принято продолжать работу в смерженной ветке?
Допустим я хочу работать в той же ветке (которая уже смержена в дев) Мне просто сделать новые изменения локально в этой ветке и сделать git push origin myBranch и моя ветка вернется в состояние unmerged ?\
Если решаете сами, то заводите новую ветку
Delete a branch. The branch must be fully merged in its upstream branch, or in HEAD if no upstream was set with --track or --set-upstream-to. Разве это не значит, что вы должны быть в той самой ветке или в её потомке при удалении?
Речь про серверный HEAD
Да. При новом mr в списке на ревью всё равно будут только коммиты, которые ещё не мёржились
названия ветки образуются из задач в jira, создавая новую ветку типа RC-25062(2) будет ли это нормально выглядеть? Также в новой ветке нужно ли мне ревертить некорректные изменения из старой ветки?
А зачем у вас так принято? Какие плюсы по сравнению с короткоживущими ветками?
не понимаю, что это значит, и как вы это поняли. Так и гуглить "git server head"?
Вы можете в названии ветки помимо задачи добавить сколько угодно слов. Типа RC-25062-reimplement-feature. А насчет реверта — сами решайте, как проще сделать то, что нужно: поверх текущего или отменив прошлое и сделав с чистого листа
А зачем принимать иначе?
А в какой момент вы такие ветки удаляете? И в какие моменты мержите их, если планируете продолжать работу?
Лично я вообще никогда ветки не удаляю. Не вижу смысла удалять ветки Мёржим, когда считаем, что работа завершена. Не представляю, в чём заключается "планирование продолжить работу", когда мы говорим о ветках гита
По слову upstream. У ремоутов есть свой HEAD (реф типа origin/HEAD), типа дефолтная ветка.
Так там так и написано: or in HEAD if no upstream was set with --track or --set-upstream-to
Многим мешают копящиеся неактуальные ветки.
Ну да. Эти люди удаляют
У такого подхода есть минусы. Если мастер уйдет вперед, то при продолжении работы придется решать возможные мерж-конфликты, которых не было бы при отпочковывании новой ветки от свежего мастера. Или надо делать шаги, которых можно было избежать. Такую долгоживущую ветку не отрибейсить. И визуальная история будет захламлена.
Да, если далеко ушло, то новую обычно. Собственно, оно и ушло далеко, что времени много прошло и задача скорее всего новая. Согласен, не масштабируется. Портить историю ребейсами — это отдельная тема
А как можно рибейсом испортить историю?
Переписать можно
Там в этом и вся прелесть.
Мне не нравится. Ну и вообще в реальной жизни не встречал, чтобы ребейзили часто. По мне, это действие до первого пуша актуально
Рибейс — мощный инструмент приведения истории в порядок. Им можно как наделать дел, так и принести пользу. И со временем он входит в привычку. Во многих моих проектах фичеветки принадлежали авторам, если явно не оговорено иное. И пока эта ваша ветка не вмержена в общую, то ее можно рибейсить и форспушить сколько угодно. Другое дело, что некоторые и форспуша боятся как огня, хотя это такой же инструмент, как и другие.
Обсуждают сегодня