Java, UX, HTML, CSS, WEB-design

Перенос репозитория Git на новый сервер

[ad_1]

  • Ник Сумейко

  • 0 Комментарии

Перенос репозитория Git на новый сервер

  • 4 минуты чтения

  • Git, Кодирование, Инструменты

Краткое резюме ↬

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

Когда мне пришлось перенести несколько проектов Git на новый хост, мне потребовалось довольно много времени, чтобы найти точный метод. Сделав много попыток и пару неудачных, и внимательно прочитав документацию Git, я нашел надежный и эффективный способ. Тогда я подумал, что каждому разработчику будет полезно знать, как быстро и легко перенести репозиторий Git на новый хост. Самое главное — убедиться, что все ваши ветки, теги и история коммитов перемещены.

Давайте научимся делать это правильно

Во-первых, мы должны получить все удаленные ветки и теги из существующего репозитория в наш локальный индекс:

git fetch origin

Но даже если все ветки и теги были извлечены и существуют в локальном индексе, у нас все равно не будет их копии, которая была бы физически локальной. И для переноса репозитория требуется локальная копия.

Мы можем проверить наличие отсутствующих ветвей, для которых нам нужно создать локальную копию. Давайте перечислим все существующие ветки (локальные и удаленные), чтобы увидеть, не хватает ли нам каких-либо локальных копий:

git branch -a

* master
  remotes/origin/develop
  remotes/origin/master
  remotes/origin/release/0.1

Из этого вывода мы можем легко сказать, есть ли у нас локальные копии всех удаленных ветвей: удаленные имеют префикс remotes/origin/ путь, а локальные — нет. Таким образом, только наша ветка master является локальной, тогда как remotes/origin/develop и remotes/origin/release/0.1 не. Все в порядке — давайте просто создадим локальные копии:

git checkout -b develop origin/develop
git checkout -b release/0.1 origin/release/0.1
Еще после прыжка! Продолжить чтение ниже ↓

Создав локальные копии всего, мы можем еще раз проверить, все ли ветки с remotes/origin/ префикс имеет соответствующие локальные копии (показаны без префикса):

git branch -a

  develop
  master
* release/0.1
  remotes/origin/develop
  remotes/origin/master
  remotes/origin/release/0.1

Теперь мы точно знаем, что все ветки в нашем репозитории хранятся локально, и мы готовы перенести репозиторий на новый хост.

На этом этапе предположим, что у нас есть URL-адрес нашего нового репозитория, скопированный с помощью SSH. Если нет, создайте новый репозиторий, и тогда у вас будет его URL-адрес, клонированный по SSH.

Давайте используем клонированный SSH URL-адрес нашего нового репозитория для создания нового удаленного в нашем существующем локальном репозитории, выполнив следующую команду:

git remote add new-origin git@github.com:manakor/manascope.git

Это даст нам два пульта для существующего репозитория: исходный (с именем originподключенный к существующему удаленному хосту) и новый (с именем new-originподключенный к новому хосту).

(В Git есть такая концепция «пультов», которые представляют собой просто URL-адреса других копий вашего репозитория. Имя origin относится к исходному удаленному репозиторию; по соглашению он считается основным централизованным хранилищем.)

Теперь мы готовы отправить все локальные ветки и теги на новый удаленный сервер с именем new-origin. Мы могли бы отправить каждую локальную ветку отдельно, но отправка всех веток одновременно была бы намного быстрее, если бы вы выполнили следующую команду Git:

git push --all new-origin

Давайте также поместим все теги в new-origin с помощью этой команды Git:

git push --tags new-origin

Мы почти закончили. Давайте сделаем new-origin удаленный по умолчанию, который будет направлять все будущие коммиты в новый репозиторий, который мы только что отправили. Для этого удалите старый удаленный репозиторий:

git remote rm origin

И переименовать new-origin чтобы просто originчтобы он стал удаленным по умолчанию:

git remote rename new-origin origin

(Все привыкли, что пульт по умолчанию называется origin. Итак, давайте сохраним стандарт, назвав наш основной централизованный репозиторий удаленным. originслишком.)

Круто, Сделано!

Теперь ваш репозиторий подключен к новому удаленному серверу (то есть к новому хосту), на котором будут храниться все ваши ветки и теги, а также история ваших коммитов. Кроме того, теперь все коммиты будут отправляться на новый удаленный хост.

Дальнейшее чтение на SmashingMag:

  • Простой рабочий процесс от разработки до развертывания
  • Современный контроль версий с помощью Git
  • Станьте опытным пользователем командной строки с помощью Oh-My-ZSH и Z
Сокрушительная редакция
(дс, аль, ил)



[ad_2]
Source: https://smashingmagazine.com

Заключение

Вы ознакомились с статьей — Перенос репозитория Git на новый сервер

Пожалуйста оцените статью, и напишите комментарий.

Похожие статьи

Добавить комментарий

Ваш адрес email не будет опубликован.

Краткое описание по статье Перенос репозитория Git на новый сервер

Название: Перенос репозитория Git на новый сервер . Краткое описание: [ad_1] ⭐ Ник Сум . Дата публикации: 10.02.2022 . Автор: Алишер Валеев .

Для чего создан сайт Novosti-Nedeli.ru

Данный сайт посвящен новостям мира и мира технологий . Также тут вы найдете руководства по различным девайсам.

Сколько лет сайту?

Возраст составляет 3 года

Кнопка «Наверх»