Git: раздавить все, затем "извлечь" некоторые коммиты - PullRequest
0 голосов
/ 12 августа 2009

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

Допустим, у меня есть эти файлы в одном коммите: upload.py, moderate.py, upload.html, moderaion.html

Как я могу разделить его на два коммита, как это? загрузить: upload.py, upload.html

умеренность: moderate.py, moderaion.html

Ответы [ 2 ]

2 голосов
/ 12 августа 2009

Сначала вы можете сдавить все коммиты вместе с git rebase --interactive X (где X - родитель коммитов, которые вы хотите раздавить). После этого запустите git rebase --interactive X во второй раз, но теперь разделите сдавленный коммит, как описано в руководстве git-rebase .

Перед тем, как начать ребазинг, лучше всего отметить текущую фиксацию головы. Запишите его хэш или создайте новый тег / ветку. Таким образом, вы можете легко отменить все свои изменения и повторить попытку.

1 голос
/ 12 августа 2009

Ваш вопрос подразумевает, что коммиты уже беспорядочные, но если сами коммиты «атомарные», но только в неправильном порядке, вы также можете использовать git rebase --interactive , чтобы поместить их в правильные заказать, а затем раздавить их. Это может упростить вам задачу.

Если коммиты уже касаются нескольких областей, и вы хотите разделить их, опять же, git rebase -i может помочь. Также посмотрите на пример в блоге Барта .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...