Посмотрите на свой график фиксации (с помощью gitk или аналогичной программы). Вы увидите коммиты из запроса на вытягивание, и вы увидите свои собственные фиксации и фиксацию слияния (если бы это было не быстрое слияние). Вам просто нужно найти последние свои собственные коммиты перед слиянием и сбросить ветвь на эту фиксацию.
(Если у вас есть рефлок филиала, должно быть еще проще найти фиксацию до слияния .)
(Редактировать после получения дополнительной информации в комментариях:)
[/g3]
Я предполагаю, что последний (самый правый) commit был вашим неправильным слиянием по запросу pull , который объединил синюю линию, показанную здесь. Ваша последняя хорошая фиксация будет той, что была раньше на черной линии, здесь отмечена красным:
[/g4]
Сбросить к этому [, g12]
Это означает, что в вашей локальной рабочей копии сделайте это (после того, как вы убедитесь, что у вас больше нет неподтвержденных вещей, например, git stash):
git checkout master
git reset --hard 7a62674ba3df0853c63539175197a16122a739ef
gitk
Теперь подтвердите, что вы действительно находитесь на коммите, который я там отмечен, и вы не увидите ни одного из вытащенных материалов в своей родословной.
git push -f origin master
(если ваш пульт github называется origin
- иначе измените имя).
Теперь все должно выглядеть прямо на github. Коммиты будут по-прежнему находиться в вашем хранилище, но не достижимы ни одной веткой, поэтому они не должны навредить. (И они будут все еще в репозитории Роджер Паладина, конечно.)
(Может быть, Github-специфический способ только для Интернета сделать то же самое, но я не слишком знаком с Github и его тягой
Обратите внимание, что если кто-то еще, возможно, потянул вашего хозяина с неправильной фиксацией, у них возникнет такая же проблема, как у вас в настоящее время, и она не может действительно помочь. перед тем, как вернуться к новой версии мастера.
Если возможно, что это произошло или вы просто хотите избежать каких-либо проблем, используйте команду git revert
вместо git reset
, чтобы вернуть изменения с помощью new commit, вместо того, чтобы вернуться к более старому. (Некоторые люди думают, что вы никогда не должны выполнять сброс с опубликованными ветвями.) См. Другие ответы на этот вопрос о том, как это сделать.
В будущем:
Если вы хотите только некоторые из фиксации ветки Роджера Паладина, используйте cherry-pick
вместо merge
. Или свяжитесь с RogerPaladin, чтобы переместить их в отдельную ветку и отправить новый запрос на pull.
Не ясно, чего вы действительно хотите достичь. Если я не ошибаюсь, вы хотите повторно использовать список опций (из res / menu ) панели навигации в раскрывающихся опциях утилита возврата. Вы можете взглянуть на это: https://developer.android.com/guide/topics/ui/menus