Git: клонирование репозитория в новый репозиторий
Я использую Git (на bitbucket) и имею репозиторий с моим кодом. Теперь я хочу использовать этот код и в значительной степени изменить его для другого проекта. Я понимаю, что я должен абстрагировать общие компоненты в третью библиотеку и использовать ее, но для аргумента, если я хочу клонировать текущий репозиторий в новый, возможно ли это без ручного копирования кода и нажатия на новое РЕПО?
спасибо,
Али
3 ответов
сначала клонируйте репозиторий, с которым вы хотите работать. Этот шаг можно пропустить, если вы хотите, чтобы все это произошло в папке, в которой вы уже находитесь.
git clone file:///path/to/repo/
клонирование приведет к удалениям, указанным в этом каталоге. Так что вам нужно снимите пультов ты не хочешь.
git remote rm <remote>
и добавить те, что вы делаете, после того, как вы создали свой удаленный репозиторий.
git remote add origin <url>
вы также захотите --set-upstream-to
, или -u
чтобы сообщить git, что это удаленный репозиторий, в который будет обновляться эта ветка, предполагая, что вы находитесь в главной ветви.
git push -u origin master
затем вам нужно будет решить, какие ветви сохранить и добавить к удаленному. Если вы хотите подтолкнуть их всех, просто сделайте git push --mirror
. Это подтолкнет все ваши теги и пульты. Но поскольку мы отредактировали ваши пульты на более раннем этапе, это не должно быть проблемой.
если вы только хотите сохранить несколько, вы можете git push -u origin <branch>
каждый из вас хотеть.
вы можете либо клонировать существующее РЕПО и удалить пульты, либо скопировать папку в файловой системе и изменить/удалить пульты в одной копии.
но поскольку ваш вопрос не слишком ясен, вот еще одна вещь, которая возможна:
добавьте другой пульт к существующему удаленному (кроме origin) и нажмите на этот пульт.
вы можете просто использовать set-url
чтобы переместить существующий репозиторий в новый репозиторий:
cd file:///path/to/repo/
git remote set-url origin <url-of-new-repo>
git push -u origin master