Ответ 1
Если вы решили сохранить обе версии в коде (что имеет смысл), вы можете создать вторую ветвь корня:
git checkout --orphan branchForV2
(как описано в разделе Как слить код с git "и в" Развертывание переписанного Github/Heroku App ")
У меня есть git repo, у которого есть код для всех выпусков 1.x. Теперь я начинаю работать над ветвью 2.x. Так как я начинаю полностью кодировать это с нуля (нет связи между 1.x и 2.x), мне интересно, действительно ли 2.x - настоящая ветка, или если мне лучше начать для нее совершенно новый репозиторий.
Удовлетворение преимуществ и недостатков каждого решения. Я мог предположить, что переход от ветки 1.x к ветке 2.x займет довольно много времени.
Если вы решили сохранить обе версии в коде (что имеет смысл), вы можете создать вторую ветвь корня:
git checkout --orphan branchForV2
(как описано в разделе Как слить код с git "и в" Развертывание переписанного Github/Heroku App ")
Я обычно предпочитаю хранить версии одного и того же проекта в том же репозитории.
Например, у меня есть проект, который я создал в классическом ASP несколько лет назад под SVN, затем я перенес проект на PHP + Git и, наконец, на Ruby + Git. На самом деле, 3 версии были полностью переписаны, потому что я изменил технологию, выполняющую код, но все находится в одном репозитории.
Я даже могу решить проверить очень старую версию, если мне нужно.
Использование отдельного репозитория имеет преимущество для уменьшения размера репозитория, но Git имеет очень эффективный алгоритм сжатия (сравнивается, например, с SVN), и я видел репозитории SVN 800 Мб, сжатые менее чем на 100 Мб в Git.
Честно говоря, я считаю, что это вопрос вкуса.
Использование отдельных репозиториев уменьшает размер репозитория.
Использование одного и того же репозитория имеет то преимущество, что вся история проекта находится в одном месте. Вы даже можете пометить версии с легкостью swtich между ними. И последнее, но не менее важное: если вы повторно используете активы между версиями, Git может оптимизировать их и хранить их только один раз.