Как разветвить мой собственный репо в новый проект?

Я разрабатывал игровой движок HTML5. Я использовал Git в качестве SV и GitHub для размещения проекта.

Я внес некоторые существенные изменения в дизайн (в основном, переключившись на парадигму Entity System), и я думаю, что пришло время для нового движка.

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

Каким будет стандартный способ сделать это? У нового двигателя будет новое имя, а старый будет считаться «законченным».


person corazza    schedule 24.07.2012    source источник


Ответы (2)


Если вы имеете в виду, что хотите новый проект с новым репо, но делитесь историей со старым, то простой способ:

$ git clone https://github.com/your_name/old_project new_project
# make new, empty project on GitHub called new_project
$ cd new_project
$ git remote rename origin old_project
$ git remote add origin https://github.com/your_name/new_project
$ git push -u origin

Теперь у вас есть новый проект, но в вашем локальном клоне вы все еще можете получить коммиты из старого, чтобы исправить ошибки в общем коде с помощью git cherry-pick и т. д.

person Fred Foo    schedule 24.07.2012

Вам нужно разветвить

git branch <your_new_branch>
git checkout <your_new_branch>

вернуться к старой ветке

git checkout master

перечислить все филиалы

git branch
person MaX    schedule 24.07.2012
comment
Я не уверен, должен ли я использовать ветки для этого. Новый движок должен быть совершенно новым проектом с собственным каталогом GitHub. Старый закончен, и я хочу, чтобы он был указан как таковой на моей странице GitHub. - person corazza; 24.07.2012
comment
для этого вы создаете новое репо на github и добавляете его адрес git на пульты в git remote add new_repo git://github.com/foo/bar, теперь вы можете нажать на это репо, говоря git push new_repo your_branch. Я бы порекомендовал вам сделать хардкорный форк вашего проекта, если новая версия основана на предыдущей. - person MaX; 24.07.2012
comment
Что вы подразумеваете под хардкорным форком? - person corazza; 25.07.2012