2013-07-16 2 views
1

Я собираюсь обновить проект Rails3 до 4 и в то же время иметь чистый проект запуска вместе. Поэтому мое решение состоит в том, чтобы создать новый проект rails4 и просто передать один за другим, что мне нужно в моем предыдущем проекте.Git: Как создать новую ветку, но несколько другой проект

Я думал о создании новой ветки для моего нового проекта rails4, и, в конце концов, когда я закончил, я вернусь к мастеру и переопределяю его. Я придумал два решения, но я не знаю, какими будут оба последствия. Что я должен реализовать?

  1. Просто создать новую ветку git checkout -b v2 и сделать git rm -rf на проекте. Запустите мое новое приложение для рельсов и зафиксируйте его или
  2. Использование --orphan? I just recently found this option в git. Поэтому я бы использовал git checkout --orphan v2, а также проект git rm -rf и запустил новое приложение для рельсов и зафиксировал его.

В основном они выглядят почти так же, но мне было интересно, что произойдет, если я попытаюсь объединить их назад, чтобы освоить или переопределить мастер уже?

+0

Зачем сливаться? Почему бы не переименовать master (то есть в old-master), а затем переименуйте v2 в master, когда будете готовы? – tjameson

+0

Я мог бы это сделать? Герм ... или я мог бы это сделать. Но в рамках двух решений ... какова их разница или последствия? – index

+0

Главное различие заключается в том, что вы теряете историю фиксации, но кажется, что вам это неинтересно. Любая причина, по которой вы не просто хотите обновить свой текущий проект до Rails 4? Кажется, история фиксации может быть ценной ... – tjameson

ответ

1

В моем старом проекте уже много беспорядков и неиспользуемых кодов, и я не хочу делать новый, который уже есть. Поэтому вместо того, чтобы удалить то, что мне не нужно, я решил переместить то, что мне нужно.

Одним из решений было бы просто управлять другим репо, если история не так важна.

Или, если вы должны держать одну репо, идти с опцией 2/(сирота филиал)

Если слияние освоить с переопределением является то, что вас беспокоит, я обобщил различные способы достижения, что в "git command for making one branch like another ».

+0

Ну, у меня есть ограниченные частные репозитории, поэтому я решил принять это решение. Значит, это только основная разница с ними? Я также думал о решении @tjameson относительно «слияния, чтобы овладеть», где он говорит, что лучше просто переименовать мастера в «старый мастер», а затем «v2». – index

+0

@index, если вы единственный, кто клонирует это репо, тогда да, переименование мастера - это самое простое решение. В противном случае, имея параллельную ветвь и сливаясь с «master», когда готово, это одно обычное решение. – VonC

+0

У меня тоже есть другие, но это близкая команда, поэтому мы можем просто информировать друг друга, когда мы начинаем перемещать/переименовывать имена ветвей. Герм ... Но на всякий случай у нас все еще есть ваше решение. – index

Смежные вопросы