Git: Как сохранить историю ветки в один файл - PullRequest
0 голосов
/ 12 сентября 2018

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

Лучший способ, о котором я сейчас могу подумать, - это использовать git format-patch master, а затем объединить все файлы исправлений, сгенерированные в один файл. Единственная проблема с этим подходом в том, что я ленивый. Я не могу потрудиться сделать все это вне мерзавца.

1 Ответ

0 голосов
/ 12 сентября 2018

ветки в git дешевые. Ветвь - это просто файл, показывающий коммит в вашем репозитории (я намеренно пропускаю потенциальный сборщик мусора, когда вы раздвигаете, объединяете и удаляете ветку).

«Дурацкий» способ сделать это будет просто:

git branch feature-backup
git rebase <some_commit> 

После этого feature-backup ветвь все еще будет иметь вашу старую историю. Вам не нужно выдвигать ветку feature-backup на удаленное устройство. Это может быть только ваше местное отделение.

Другой подход к получению изменений из вашей ветки:

git diff <some_commit>...HEAD > all_commits_in_a_single_file.patch
git rebase <some_commit>

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

Если вы хотите разделить все коммиты, вы можете использовать:

git log --cc <some_commit>...HEAD > all_history_in_a_single_file.txt

Последний вариант даст вам все объединенные различия с сообщениями коммита и прочим.

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