Как засунуть коммит в новую локальную ветку и запушить?

У меня есть коммит с какими-то изменениями, вскоре я понял, что в ветку мастер я запушить не могу (не имею прав). Единственный вариант, это создать новую ветку и запушть в нее. Но если я создам новую ветку, не запушенный коммит пропадет. Может есть вариант, создать ветку на сервере, а локально, одной командой сказать, чтобы запушил коммит не в мастер а в другую ветку, не переходя на нее?
  • Вопрос задан
  • 79 просмотров
Решения вопроса 1
sergey-kuznetsov
@sergey-kuznetsov Куратор тега Git
Автоматизатор
Но если я создам новую ветку не запушенный коммит пропадет.

Странное заявление. При создании ветки от текущего коммита, он автоматически окажется в новой ветке тоже. С чего это он должен куда-то пропасть?
git branch feature_branch # создать новую ветку для текущего коммита
git reset origin/master # удалить коммит, он останется только в новой ветке

одной командой сказать, что бы запушил коммит не в мастер а в другую ветку, не переходя на нее

И так тоже можно
git push origin HEAD:feature_branch
Но из локального мастера всё равно не забудь удалить лишнее.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
dlnsk
@dlnsk
ПК Партнер 01.01 -> ПК Поиск -> IBM PC
Если у вас уже "есть" коммит, значит но уже лежит в какой-то ветке.
Создайте новую ветку и сделайте cherry-pick коммита в нее.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы