У меня есть большой проект, который я обновлял до края Rails. Я сделал копию всего каталога проекта и реорганизован там в качестве меры предосторожности, чтобы доверять git (или, по крайней мере, как я могу использовать/использовать его неправильно). После завершения большую часть работы я вернулся в исходный каталог проекта и на консоли (это из памяти и так свободно основан на том, что произошло на самом деле):ошибка git или неправильное использование ветвления?
git branch edge
git checkout edge
git rm vendor/plugins
git commit -m "wiped out old plugins"
я вручную скопировать в последних версиях плагинов, которые я обновил в моем скопированном проекте.
git add vendor/plugins
git commit -m "re-added in plugins, some unchanged, some later versions"
Мое понимание заключается в том, что вышеуказанное добавление является рекурсивным. Чтобы получить некоторое доверие к git, я поменялся местами между ведущей веткой и ветвью краев в разное время во время моей работы, просто чтобы убедиться, что она обрабатывает подмены.
git checkout master
git checkout edge
Что я заметил, так это то, что (после некоторых свопов) в ветви края некоторые из плагинов вернулись к основным версиям. Много раз я пытался зафиксировать последнюю версию проблемного плагина, но в конце концов он вернулся после замены.
Я подозреваю, что, возможно, возникла проблема с тем, как я добавил файлы после их перемещения вручную. (Был ли git добавлен поставщик/плагины/* необходимо?) У кого-нибудь была проблема с заменой между ветвями, когда в двух ветвях есть одни и те же подкаталоги? Как вы можете справиться с слиянием изменений, найденных в копии приложения, найденного в одном каталоге, в оригинале? Исходный репозиторий чист, а копия довольно перепутана с попыткой получить определенные плагины для изменения в ветви края.
Я ценю обратную связь. Я знал, что я не придерживаюсь стандартного подхода, но я все еще новичок в git и поэтому хотел быть осторожным, если бы мог выполнить команду git, которую я не понимал полностью и не терял кучу работы. – Mario
Поскольку ветви дешевы/легки/безопасны до тех пор, пока вы сначала входите в ветку, вы можете выбросить все, что вы делаете на новую ветку, не беспокоясь о том, чтобы испортить основную ветку. –
К сожалению, даже после ваших шагов я получаю такую проблему, когда я пытаюсь переключиться на главную ветку: Ошибка: файл без изменений рабочего дерева «vendor/extensions/blog_tags/LICENSE» будет перезаписан слиянием. Я испытал это раньше, и это, похоже, вызывает проблемы. – Mario