Удалённая ветка Git удалена, как синхронизировать локальные изменения с новой веткой
Я получил удаленную ветвь как velop_1, которую я использовал. Все мои локальные изменения кода были зафиксированы, но мой руководитель случайно удалил эту удаленную ветку.
У меня есть все эти изменения кода в моей локальной системе. Теперь я хочу перенести все эти изменения обратно в тот же Git-репозиторий в новую удаленную ветку, скажем, Develop_2.
Как я могу создать новую ветку, синхронизировать свои локальные изменения и отправить ее на удаленный компьютер?
3 ответа
В вашем локальном филиале develop_1 вы можете просто создать новый филиал:
$ git checkout -b develop_2
Нажмите ваши изменения и затем синхронизируйте локальный репозиторий, выполнив:
$ git fetch -p
-p
для prune
удаление локальных веток, в данном случае, старых Develop_1, которые больше не существуют в удаленном.
Вы раздвоили удаленный репозиторий, а затем клонировали его на своем локальном компьютере?
Если у вас есть изменения кода в вашем местном отделении, скажите local_dev
и вы хотите подтолкнуть к develop_2
тогда команда будет такой:
git push -u origin local_dev:develop_2
затем поднять запрос на получение от основного репо.
Если у вас есть прямой доступ к удаленному репо, то сразу отправьте изменения на удаленный репозиторий Нет необходимости поднимать запрос на извлечение
но мой лидер случайно удалил эту удаленную ветку
Если это на GitHub, вы можете вернуть SHA1 удаленной ветки с помощью "reflog бедняков", то есть push-событий ( GitHub Events API).
Смотрите " Github помнит идентификаторы коммитов?": Ищите последние push-события на master
ветвь: затем вы можете получить этот коммит (и связанную с ним историю) обратно в локальный репозиторий.
Если нет, то поддержка GitHub будет выглядеть, чтобы восстановить ваш предыдущий контент.
Тогда принудительное нажатие необходимо для восстановления той же истории на удаленной стороне.
Но даже проще, если ваши локальные изменения были сделаны поверх того, что уже было передано, вам не нужно создавать новую ветвь: отодвиньте существующую ветвь назад.