Как изменить один кусок кода, когда не можете вытащить мастер? - PullRequest
0 голосов
/ 28 февраля 2019

У нас есть рабочий сервер, который использует только ветку master.Мы находимся в ситуации, когда наш локальный мастер (да, это наша вина) полон множества коммитов и кода, который мы не можем вытащить на сервер.

Нам нужно изменить пару строк кода на сервере.

Какой способ вы бы порекомендовали?Я разобрался с этими двумя способами, но я не уверен в их безопасности:

  1. Создайте новую ветку на производственном сервере master ветвь, нажмите ее, затем внесите некоторые изменения, откатитесь назади переключитесь на эту ветку.

  2. Просто отредактируйте ее вручную (в будущем возникнут конфликты)

  3. Другой, лучший вариант?

1 Ответ

0 голосов
/ 28 февраля 2019

Я не мог придумать «хороший» способ сделать это.Но вот один из подходов:

Сначала создайте новую локальную ветку из вашей текущей локальной master:

# from master
git branch master_backup

Затем выберите последние изменения с пульта, которые должны включатьизменения в удаленном master филиале:

git fetch origin

Затем сбросьте локальный master в удаленный филиал с помощью:

git reset --hard origin/master

В этот момент ваш локальный masterветвь должна быть синхронизирована с текущим удаленным master, а также ваш предыдущий локальный master был скопирован до master_backup.Теперь вы можете внести изменения в master и нажать на них:

# work work work
git add .
git commit -m 'hotfix for master'
git push origin master

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

# from master
git reset --hard master_backup

На этом этапе, если вам не нужна резервная ветка master, вы можете удалить ее:

git branch -d master_backup

Это подробное решение, но частичносвязано с тем, что вы не можете следовать нормальным рабочим процессам для Git.В идеале, вы не должны позволять вашей локальной ветке настолько далеко не синхронизироваться с удаленной версией, что вы не можете нажать.Это общий хороший совет, чтобы синхронизировать как можно чаще в Git.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...