В данной инструкции мы рассмотрим несколько примеров, как можно выполнить перенос со всеми настройками git-проекта в другой git-репозиторий. Предполагается, что у нас уже подготовлен новый репозиторий, куда нужно отправить проект, а также у нас есть представление о работе с командой git. В конце инструкции приведены соответствующие ссылки.
Сначала рассмотрим вариант переноса проекта как есть — со всеми настройками, ветками, коммитами, тегами и так далее. Для этого на своем рабочем компьютере открываем командную строку и клонируем проект с опцией mirror:
git clone —mirror <путь до репозитория> <папка>
Например:
git clone —mirror https://gitlab.remontka.com/master/test.git test
* данной командой мы склонируем проект по пути https://gitlab.remontka.com/master/test.git и сохраним его в текущем каталоге, папке test .
Перейдем в созданную папку:
cd test
На данном этапе у нас есть полная копия проекта, но она привязана к текущему репозиторию. Это можно посмотреть командой:
git remote show origin
Мы увидим что-то на подобие:
* remote origin
Fetch URL: https://gitlab.remontka.com/master/test.git
Push URL: https://gitlab.remontka.com/master/test.git
Отвязываем его командой:
git remote rm origin
Создаем пустой проект в новом репозитории. Смотрим ссылку на него и делаем привязку с нашим локальным проектом, например:
git remote add origin https://gitlab.com/remontka.com/test.git
* где https://gitlab.com/remontka.com/test.git — путь до нового репозитория.
Отправляем файлы в подключенный репозиторий:
git push origin —all
А также теги:
git push —tags
Проект перенесен.
Предположим, нам нужно перенести не все ветки. Это тоже можно сделать.
Начинаем с клонирования проекта на локальный компьютер:
git clone <путь до репозитория> <папка>
Например:
git clone https://gitlab.remontka.com/master/test.git test
* данной командой мы склонируем проект по пути https://gitlab.remontka.com/master/test.git и сохраним его в текущем каталоге, папке test .
Перейдем в созданную папку:
cd test
Смотрим список всех веток командой:
git branch -a
Мы должны увидеть одну основную ветку, как закаченную, остальные с префиксом remotes/origin/ .
Переключаемся на те ветки, которые нам нужно перенести в новый репозиторий, например:
git checkout branch1
git checkout branch2
Можно еще раз посмотреть на список веток:
git branch -a
Мы должны увидеть, что загруженные ветки стали без префикса remotes/origin/ .
Загрузим теги:
git fetch —tags
И так, у нас есть копия проекта с нужными нам ветками, и она привязана к текущему репозиторию. Проверим:
git remote show origin
Мы увидим что-то на подобие:
* remote origin
Fetch URL: https://gitlab.remontka.com/master/test.git
Push URL: https://gitlab.remontka.com/master/test.git
Отвязываем его командой:
git remote rm origin
Создаем пустой проект в новом репозитории. Смотрим ссылку на него и делаем привязку с нашим локальным проектом, например:
git remote add origin https://gitlab.com/remontka.com/test.git
* где https://gitlab.com/remontka.com/test.git — путь до нового репозитория.
Отправляем файлы в подключенный репозиторий:
git push origin —all
А также теги:
git push —tags
Проект перенесен.
Данная информация также может быть полезной:
1. Шпаргалка по работе с командами git .
2. Установка веб-инструмента GitLab на CentOS .
3. Установка веб-инструмента GitLab на Linux Ubuntu Server .
Zulip — программное обеспечение для реализации корпоративного чата. Разработан в 2012 году, в 2014 был…
Zookeeper — cервис-координатор, который позволяет обеспечить контроль синхронизации данных. Разработан на Java компанией Apache Software…
Zimbra — программное обеспечение для реализации почтового сервиса или, если сказать точнее, автоматизации совместной деятельности…
Zabbix — бесплатная система мониторинга. Позволяет отслеживать состояние сетевых узлов, компьютеров и серверов. Возможности: Поддержка…
YouTube — компания-владелец одноименного портала для просмотра и хранения видео. Чтобы пользоваться данным порталом достаточно…
Yota — провайдер, предоставляющий доступ к сети Интернет по беспроводной связи. Впервые, сервис начал работать…