2012-06-19 5 views
0

Я напортачил локальную ветвь на своем компьютере, перезарядив ее на другую ветку. Я хотел переустановить, но я не переключился на ветку, которую я хотел переупаковать, и в результате я испортил somebranch. Я понятия не имел, как отменить мою перезагрузку в somebranch (если кто-нибудь знает, что было бы хорошо знать на будущее), поэтому я решил, что, поскольку у меня есть somebranch на github, я бы просто удалил его локально, а затем вытащил его из github. Я не знаю, что я сделал, но я тоже это испортил. В конце концов я нашел то, что я считаю правильные команды, чтобы воссоздать удаленный местный филиал, потянув его из моего удаленного происхождения:

Ремонт git branch: refs теперь показывают refs/remotes/branch и refs/remotes/origin/branch

git fetch origin somebranch:refs/remotes/somebranch 
git checkout -b somebranch --track origin/somebranch 


В gitk я могу видеть, что есть три вещи, которые в настоящее время:
somebranch, пульты дистанционного управления/somebranch, пульты дистанционного управления/происхождение/somebranch

но все остальные мои ветви показывают только локальный и один пульт дистанционного управления. Пример:
someotherbranch, пульты дистанционного управления/происхождение/someotherbranch

Я побежал git for-each-ref и оба реф/пультов ДУ/somebranch и реф/пультов ДУ/происхождение/точка somebranch к тому же совершить.

Мой вопрос в чем разница между этими двумя и как мне избавиться от ref/remotes/somebranch. Я попробовал git update-ref -d remotes/somebranch, но это не сработало.

ответ

1

У вас его почти не было. Просто добавьте «рефов»:

git update-ref -d refs/remotes/somebranch 

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

ls .git/refs/remotes 
+0

Спасибо большое, что работал. Когда я запускаю «git remote show origin», я вижу, что он говорит «Локальный филиал, настроенный для« git pull »: somebranch сливается с удаленным somebranch'. Но ни один из моих других филиалов не имеет записи для «git pull». Это нормально? – loop

+0

Зависит от того, как вы их настроили для начала. Если вы хотите установить ветвь «вверх по течению», которая позволит «git pull», это должно помочь: http://stackoverflow.com/a/2286030/877115 – Christopher

Смежные вопросы