Перенос git-репозитория на другой сервер
Apr 18, 2016 21:49 · 137 words · 1 minute read
Порой возникает необходимость переноса 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-репозитория рекомендуется сделать тестовый коммит.