2015-04-21 3 views
0

Есть ли способ генерации одного commit, который содержит изменения кода между двумя ветвями? У меня есть ветка, и я делал слишком много раз с короткими сообщениями, а затем я объединил в нее последнее состояние мастера. Теперь я хочу поместить все изменения в одно фиксированное сообщение с одним сообщением фиксации и нажать на удаленный. Кажется, интерактивный rebase не будет работать, потому что я наконец объединил мастера в свою ветку ...Как сгенерировать один коммит из git diff

Когда я это делаю: git diff master..mybranch, я вижу изменения, которые хочу внести в новую фиксацию!

+0

Попробуйте Squash Commits, как описано здесь http://git-scm.com/book/en/v2/Git-Tools-Rewriting-History#Squashing-Commits – gomons

ответ

0

Вы все равно сможете использовать интерактивную перезагрузку, только начинайте с master и раздавите все коммиты в один.

В качестве альтернативы, вы можете также использовать вывод, что дифф для создания патча, а затем применить этот патч, используя git apply:

git diff master..mybranch > patch 
git checkout master 
git apply patch 

Затем добавить свои изменения и зафиксировать их в одну фиксацию.

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