Вот ситуация. Я работаю над веткой master
. Я создаю file1 и фиксирую. Я создаю file2 и фиксирую. Упс. Возможно, я когда-нибудь захочу использовать file2, но это определенно не то, что должно быть помещено в главную ветку. Чтобы я не потерял file2 я использую
git checkout head~1
git branch new-branch
git checkout new-branch
чтобы я мог продолжать развиваться. Я добавляю file3 к new-branch
. Если вы обратили внимание, у меня есть две ветви, master
, которые содержат «file1» и «file2» и new-branch
, которые содержат «file1» и «file3».
Теперь пришло время вернуть сделанные мной изменения в основную ветку. Какой лучший способ сделать это? Я определенно хочу, чтобы глава ветки master
указывал на файлы в том виде, в каком они появляются в new-branch
, но я также не хочу потерять работу, которую я проделал в file2, выполнив сброс, на случай, если я захочу использовать его.
Имейте в виду, это упрощение. Вместо трех файлов у меня есть дюжина файлов с десятками строк кода, которые меняются повсеместно, с несколькими коммитами. Я, конечно, надеюсь, что решение заключается не в слиянии / извлечении файлов, потому что это было бы огромной болью.
Есть идеи?