#git #github
#git #github
Вопрос:
Я подозреваю, что это невозможно, но, кажется, стоит попробовать. Ранее я поддерживал локальный репозиторий, состоящий из главной ветви и нескольких функциональных ветвей. Ветка master отслеживалась удаленным репозиторием на GitHub с регулярным использованием git push
для поддержания всего этого в актуальном состоянии.
После катастрофического локального сбоя и сегодняшнего «восстановления» с GitHub на новую машину я понял, что немалый объем незавершенной работы по разработке функциональных ветвей оказался утерян.
Тогда возникает вопрос — возможно ли, чтобы какие-либо коммиты в локальное репозиторий за пределами local / master были доступны в репозитории GitHub, и, если да, то какие команды будут их извлекать?
Комментарии:
1. В какой-то момент вы сказали, что регулярно нажимали, но в конце вашего вопроса я не так уверен. Вы нажимали? Если да, то теперь вы можете
fetch
их, конечно. Ваше последнее предложение довольно запутанное, возможно, стоит переформулировать его. Потому что ответ на вопрос, приведенный в названии , определенно «да».2. Я регулярно отправлял главную ветвь на GitHub (и непосредственно перед катастрофой); но в репозитории GitHub есть только главная ветвь. Теперь я предположил, что удаленные ветви, возможно, требовалось создать на GitHub для отслеживания моих локальных ветвей функций, но я никогда этого не делал, поэтому я не знаю, что бы я
fetch
использовал?3. На удаленном компьютере находится только то, что загружено. Удаленные устройства волшебным образом не синхронизируются с вашим локальным репозиторием. Какова природа вашего катастрофического сбоя? Ваш жесткий диск разрядился? Эти не загруженные данные потеряны.
4. К сожалению, катастрофой была кража ноутбука, поэтому на самом деле ее невозможно восстановить. К счастью, большинство функциональных ветвей были недавно объединены в local master, так что потеряно не так уж много, но, надеюсь, эта информация ценна для людей, поскольку я (по глупости) предположил, что у меня есть резервные копии всего на GitHub; урок, который я не забуду в спешке!
Ответ №1:
Поскольку вы прояснили свой первоначальный вопрос с :
в репозитории GitHub есть только главная ветвь. Теперь я предположил, что удаленные ветви, возможно, требовалось создать на GitHub для отслеживания моих локальных ветвей функций, но я никогда этого не делал
Тогда, если функциональные ветви (я имею в виду, отличные от master
того, что, по вашим словам, было передано) никогда не передавались на удаленный сервер, все коммиты, которые у них были, которые также были не объединены в master
, да, к сожалению, потеряны.
Ваша лучшая надежда — сохранить в master
истории хотя бы часть того, что вам нужно, и перестроить из того, что может быть.
Ответ №2:
Я хотел бы добавить, что если у вас все еще есть ваш локальный клон, где присутствовали ветви, в чем я не слишком уверен, основываясь на вашем:
После катастрофического локального сбоя и сегодняшнего «восстановления» с GitHub на новую машину
вы можете использовать reflog
(который представляет собой журнал HEAD
позиций). Если вы недавно проверили эти ветви, вы увидите их коммиты здесь.
Комментарии:
1. Я должен признать, что в своем ответе я предположил, что «катастрофический» означает что-то неустранимое в любом случае.