Непосредственное создание новой отключенной ветки git
Я начал проект и уже совершил несколько коммитов. Я бы хотел изменить свой подход и записать все с чистого листа. Можно ли зафиксировать дерево работы как несвязанную первую фиксацию напрямую, или мне действительно нужно использовать для этого временный пульт?
В основном, как я знаю, что могу:
mkdir BOO
cd BOO
git init
... # create the first and maybe more commits...
cd ..
git remote add boo BOO
git fetch boo
git checkout -b boo/master new-master
git remote delete boo
rm -rf BOO/
Действительно ли мне нужно использовать временное удаленное определение, как указано выше, или есть способ напрямую создать несвязанную начальную фиксацию?
(Если это не очевидно из вопроса, я хотел бы, чтобы исходная основная ветвь оставалась нетронутой, по крайней мере, на некоторое время для целей проверки (git diff
) и для сбора вишен.)
1 ответ
Другой очевидный подход - сделать
git checkout -b master-again
git rebase -i --root
(на самом деле не имеет значения, в какой ветке вы находитесь в начале) и удалите каждую фиксацию в открытом редакторе, кроме начальной фиксации, которая будет отмечена как
edit
а затем заменяется первоначальной фиксацией измененного подхода, когда начинается фактическая интерактивная перебазировка.
Я думаю, что можно было бы автоматизировать это одной командой, установив
GIT_EDITOR
указать подходящий сценарий.
Я ищу что-то еще более простое и уже существующее.