2025
April
17
Gitリポジトリを旧VPSから新VPSへ移設する手順まとめ
最近、運用中のいくつかのGitリポジトリを新しいVPSに移設する機会があったので、その手順をまとめておきます。
今回の記事では、旧VPSから新VPSへの移設手順を書きます。
次回の記事では、BitbucketからVPSへの移設手順を書く予定です。
目次
旧サーバーからリポジトリをバックアップ
まず、旧サーバーにSSHログインし、リポジトリ管理ユーザー(ここでは “git”)として操作します。
ssh git@old-vps.example.com
# リポジトリのディレクトリへ移動
cd /home/git
# リポジトリをZIP形式で圧縮(-r オプション:ディレクトリ内のすべてのファイルを再帰的に圧縮)
zip -r /home/git/myproject.git.zip myproject.git
新サーバーに転送
バックアップしたリポジトリ(myproject.git.zip)を、scpを使って新しいVPSに転送します。
# 旧サーバー上で実行
scp /home/git/myproject.git.zip git@new-vps.example.com:/home/git/
新サーバーでリポジトリを展開し、適切に設定
新サーバーにログインして、ファイルがちゃんと届いているかを確認します。
ssh git@new-vps.example.com
ls -l /home/git/
zipを展開し、適切に設定します。
# /home/git に移動
cd /home/git
# zipファイルを展開
unzip myproject.git.zip
# 展開したら zipファイルは削除してもOK
rm myproject.git.zip
ユーザーと権限の設定をします。
# 所有者を再帰的に git に変更
sudo chown -R git:git myproject.git
# パーミッション確認
ls -l myproject.git
SSHアクセスを設定し、新しいリポジトリとして利用可能にする
クライアントPCで作成したSSH鍵の公開鍵を新VPSの git ユーザーに登録します。
# 新VPSにログイン
ssh git@new-vps.example.com
# ディレクトリ作成(必要な場合)
mkdir -p ~/.ssh
chmod 700 ~/.ssh
# vimでauthorized_keysに公開鍵を貼り付け
vim ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys
クライアント側でリモートURLを更新
旧VPSから新VPSにリポジトリを移設したあと、クライアント(開発者PCなど)では、リモートのURLを新サーバーに変更する必要があります。
cd /path/to/local/repo
# 現在のリモートURLを確認(オプション)
git remote -v
# 実行結果
...
origin ssh://git@old-vps/home/git/myproject.git (fetch)
origin ssh://git@old-vps/home/git/myproject.git (push)
...
# 新しいVPSのURLに更新
git remote set-url origin git@new-vps.example.com:/home/git/myproject.git
# 確認
git remote -v
# 実行結果
...
origin ssh://git@new-vps/home/git/myproject.git (fetch)
origin ssh://git@new-vps/home/git/myproject.git (push)
...
# 接続テスト
git fetch
動作確認後、旧サーバーのリポジトリを削除(任意)
新サーバーへの引越しが完了し、クライアントPCでの接続テストも成功すれば
旧サーバーへログインして、リポジトリ削除します。
# 旧サーバーへsshログインしてから
rm -rf /home/git/myproject.git
おわりに
以上、旧VPSから新VPSへのGitリポジトリ移設手順のまとめでした。
このカテゴリの最新記事
2023.09.22
PostgresSQLでカンマ区切りのデータを個別にカウントする方法
2024.12.13
Docker容量不足の解決
2024.04.03
【Laravel】パスワードリセット メールアドレス入力欄のバリデーションに独自ルールを追加する
2023.12.08
【DB】テーブル設計アンチパターン