2017-01-19 2 views
1

Я перестраивал ветку. Когда конфликт возникшие, я использовал,Использовал git rebase --skip по ошибке во время rebase

git rebase --skip 

вместо,

git rebase --abort 

(Я хотел, чтобы перезапустить перебазирования по некоторым причинам).

Теперь, когда я снова запускаю перезагрузку, он говорит, что ветка обновлена, но она не имеет всех изменений.

ответ

1

Одна вещь, которую вы можете использовать, это reflog. По существу git reflog похож на git log, но вместо кодового коммита он содержит все действия, предпринятые по истории git репо.

Например вот недавний reflog от одного из моих проектов:

1b229a2 [email protected]{0}: commit: Speed up debug mode a little bit 
9976a41 [email protected]{1}: commit (amend): Split LooseTire down to gameplay and presentation 
b825442 [email protected]{2}: commit: Split LooseTire down to gameplay and presentation 
889e828 [email protected]{3}: commit: Add a couple new interfaces 
b82965a [email protected]{4}: commit: Move car to the gameplay folder 
55360ae [email protected]{5}: commit: Fix a bug when displaying polygon collision shapes 
decd93c [email protected]{6}: checkout: moving from 7f06e8fb6bc81566215173b9739b26758a69a82e to master 
7f06e8f [email protected]{7}: checkout: moving from df922e5c2efcef3e6fc9566747efe9c79eae23b6 to df922e5c2efcef3e6fc9566747efe9c79eae23b6 
df922e5 [email protected]{8}: checkout: moving from master to df922e5c2efcef3e6fc9566747efe9c79eae23b6 

Как вы видите, есть некоторые извлечения (часть git bisect я делал) и некоторые коммиты, даже в commit (amend). Это все действия, предпринятые в истории git репо.

Используя это в качестве руководства, я могу, например, получить git reset --hard [email protected]{2}, чтобы получить свое репо до состояния, которое было до того, как я сделал git commit --amend (2-я строка в рефлоге).

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