2013-08-01 6 views
0

Мне был предложен ряд изменений. Сделал изменения, протестировал локально, думал Я совершил и нажал те изменения (это было вчера). Дизайнер спросил меня о них сегодня, я проверил, они не показывались на производстве, и они не показывались на моей рабочей машине. Филиал уже удален.Восстановление изменений, потерянных в удаленной ветке git

Я новичок git, поэтому после некоторых поисков я обнаружил get reflog и смог найти фиксацию, которая имеет все изменения, и проверить новую ветку на основе этого. Когда я проверяю ветку, я вижу изменения на веб-сайте, когда я возвращаюсь к мастер-ветке, изменения ушли - точно, чего я ожидал бы.

Теперь я не могу заставить эти изменения слиться с мастером; когда я пытаюсь слиться, git говорит, что он уже обновлен.

Для иллюстрации, я включил некоторые снимки экрана:

С моим 'UHOH' ветви:

enter image description here

И мастер ветви:

enter image description here

Опять , в то время как на главном сервере, работает git merge uhoh, он отвечает «Уже обновлен». Очевидно, есть разница, я просто не знаю, как это получить от ухоха.

+2

Может быть, uhoh уже был объединен с мастером, но позже комментирует некоторые изменения, внесенные в ухо? Попробуйте запустить git log -oneline -graph -decorate master uhoh', и вы сможете увидеть, действительно ли это так. – Ajedi32

+0

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

+1

Рад, что вы сочли это полезным. Если вы часто используете эту команду (как и я), вы можете создать для нее псевдоним: 'git config --global alias.lg" log --oneline --graph --decorate ". Тогда это просто «git lg». – Ajedi32

ответ

0

Вы пробовали

git cherry-pick SHA1-of-commit 

?

Вы можете запустить cherry-pick, находясь на хозяине, он получит конкретную фиксацию и применит ее к текущей ветке. Больше информации @ manpage

+0

Это отлично работало для получения всех этих изменений. Если бы я видел комментарий Ajedi32 до сбора вишни, было бы легче увидеть SHA для всех коммитов, которые я сделал во время этой ветки. Благодаря! –

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