@melishev

Как с локальной ветки А запушить изменения в удаленную Б?

Работал на компе на ветке A, но я слепой и изменения надо было производить на ветке Б
Можно как то переключиться на ветку с переносом локальных изменений, или запушить из локальной А в удаленную Б?
  • Вопрос задан
  • 112 просмотров
Решения вопроса 1
sergey-kuznetsov
@sergey-kuznetsov Куратор тега Git
Автоматизатор
Скопировать ошибочные коммиты из ветки B в ветку A:

git rebase --onto A origin/B B

Тут три параметра.
A — ветка, куда переносим.
origin/B — ссылка на старое состояние, до ошибочных правок
B — ветка, откуда переносим.

Затем откатить ветку B:

git switch B
git reset origin/B

Предполагается, что вы ещё не успели отправить испорченную ветку B в вышестоящий origin.
В противном случае вместо origin/B придётся подставить корректный SHA последнего «хорошего» коммита.

Если же вы ещё вообще не успели ничего закоммитить, то достаточно просто переключиться в ветку A.
Изменения сами последуют за вами. Если не возникнет конфликта, то продолжите работать как ни в чём не бывало)
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
1) Закомить свои изменения в ветке А, перейди в ветку Б, черепикни свой коммит в ветку Б и пушь ее
https://git-scm.com/docs/git-cherry-pick
2) Более простой. Локально перейди в ветку Б, смержи в нее изменения из ветки A и пуш ее
Второй вариант работает только если в ветке А нет ничего лишнего, что ты не должен пушить на сервер
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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