2013-03-19 1 views

ответ

6

Я сделал это:

  1. Убирали мои текущие изменения (спрятано).
  2. git rebase -i HEAD~3.
  3. Ред:

    < выбрать второй sha1 > Второй фиксации.

    pick < 1st sha1 > Первый коммит.

    squash < 3rd sha1 > Третий фиксатор.

  4. Решает конфликт: error: could not apply <2nd sha1>... Second commit..

  5. git rebase --continue.
  6. Текстовый редактор был уволен вторым сообщением о фиксации, я сохранил его.
  7. Решает конфликт: error: could not apply <1nd sha1>... First commit..
  8. git rebase --continue.
  9. Текстовый редактор был уволен с первым сообщением фиксации, я сохранил его.
  10. Текстовый редактор был уволен с просьбой о передаче сообщения для раздачи первого и третьего коммита, я набрал новое сообщение (First commit (squashed).).

Тогда все было сделано.

git log --oneline:

git log --oneline  
<2nd sha1> Second commit. 
<1st sha1> First commit (squashed). 

мне удалось сделать это успешно, конфликты, которые имели место должно было произойти, и было легко решить.

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