в debian

Перенос git-репозитория на другой сервер


Порой возникает необходимость переноса git-репозитория на другой сервер, например, в случае замены/апгрейда серверов. Давайте разберемся как это сделать!

Считаем, что все необходимые пакеты установлены на обоих серверах. Для начала на новом сервере создаем пользователя git, у которого будут все необходимые права для работы с репозиторием:

useradd -m git

Копируем файл /home/git/.ssh/authorized_keys со старого сервера на новый, выставляем права командами:

chown -R git:git /home/git/
chmod 600 /home/git/.ssh/authorized_keys

Находясь на новом сервере выполняем:

git clone --bare ssh://git@192.168.0.13/home/git/dhcp.git
git clone --bare ssh://git@192.168.0.13/home/git/tftp.git

Примечание. В данном примере переносим два репозитория (dhcp.git и tftp.git), 192.168.0.13 — ip-адрес старого сервера.

Переходим на старый сервер и выполняем:

git push --mirror ssh://git@192.168.0.34/home/git/tftp.git
git push --mirror ssh://git@192.168.0.34/home/git/dhcp.git

Примечание. Здесь 192.168.0.34 — ip-адрес нового сервера.

В завершение не забываем изменить ссылки на новый репозиторий:

git config remote.origin.url ssh://git@192.168.0.34:~/dhcp.git

Для проверки правильности переноса git-репозитория рекомендуется сделать тестовый коммит.

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