Имеется основной репозиторий проекта.
Работа ведется следующим образом: выдается задача, исполнитель создает отдельную ветку в формате
task-{task_id}/{короткое название задачи}/{пользователь}
Выполненная задача должна заливаться в данную ветку, отправляется PR, проверяется, при успешной проверке сливается с основной веткой.
Вопрос следующий:
Как правильно работать? Первую задачу я получил, склонировал проект, настроил, выполнил задачу, переименовал текущую локальную ветку как task-{task_id}/{короткое название задачи}/{пользователь}, попытался запушить - ошибка. Пытался сделать git pull, чтобы получить изменения с основной — тоже ошибка.
Какой правильный алгоритм работы с Git в данном случае?
Мне уже помогли запушить через GUI PhpStorm, но завтра будет другая задача и нужно будет понимать как это сделать и как вообще правильно работать в данном случае.
Ветку надо создавать новую, а не пытаться переименовать main.
Когда вы клонировали проект, то ваша локальная main автоматически связалась с внешней main на гитхабе. От переименования эта связь никуда не денется и при дальнейшем push вы будете отправлять всё равно в main, что запрещено у вас. Поэтому вы и получаете ошибку.
И ещё я не понимаю страсть некоторых команд в придумывании заковыристых и очень длинных названий веток. Название ветки на самом деле ничего не значит и должно быть максимально коротким. Оно всё равно нигде не сохранится в итоге. Лучше пишите подробности задачи в сообщениях коммитов.