2016-08-29 3 views
0

Моя общая цель состоит в том, чтобы переделать сообщение фиксации предыдущего фиксации, однако, между предыдущим фиксацией и теперь, я разветвил &, объединившись, вызывая проблемы для git rebase -i.Как переустановить грязную локальную историю git

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

Как я могу взять эту историю и сделать ее линейной, чтобы я мог пересобирать -i обратно в исходную фиксацию и переписывать сообщение?

Я прикрепил график моей истории git.

git history graph

ответ

0
# Determine the index of the commit you want to rebase to. 
    git log 

# Reset the index to the desired commit 
    git reset --hard <commit> 

Теперь, когда голова указывает, где вы хотите,

# Rebase 
    git rebase master develop 
+0

1. что такое 'развивать'? это ключевое слово, или он должен ссылаться на ветку? 2. Кроме того, на картинке, которую я связал, вы можете мне объяснить, что такое оригинал/refs/head/master? Почему это отличается от мастера, и что бы раскололо их изначально? - Кроме того, я жду, чтобы понять это немного лучше, прежде чем я реализую ваше решение и потенциально повышу вас – KMongiello

+0

'develop' - название филиала. Целесообразно не связываться с «мастером». Всегда работайте в другом филиале, и когда вы уверены в своем коде, создайте запрос на перенос и объедините его в «master». 'refs/original/*' существует как резервная копия, если вы испортите ветвь фильтра. После того, как вы проверили результаты, и вы уверены, что у вас есть то, что вы хотите, вы можете удалить резервную копию: 'git update-ref -d refs/original/refs/heads/master' – Hanmaslah

+0

thank вы так много !!!!!! @hanmaslah – KMongiello

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