昔からファイルの履歴管理はファイルをコピーして、ファイル名に日付をつけて頑張ってましたOsamuです。
さて、今年からプログラミングを始めるて、チームで1つのWeb開発をしていく上で、ソースコードの履歴管理は外せない問題です。
私は2014年からこの問題に触れたので、専らGitでソースコードの履歴管理をしております。
ある時社内の管理サーバーの契約を変更したので、その中に保管されていたGitリモートリポジトリの移行が発生しました。
まだまだGit初心者の私からするとどうしていいやらGoogleで調べたのですが、「SubversionからGit移行」「Githubへ移行」といった手順は星の数程見つかるのですが、単純なGitリモートリポジトリのサーバー移行手順が中々見つからなかったのです。
という事で今回は私が行ったGitリポジトリのサーバー移行の手順を纏めます。結構簡単でした。
Gitリモートリポジトリのサーバー移行手順
手順1.現状リモートリポジトリの圧縮ファイル作成と名称変更
移行する時の為に現行のリモートリポジトリの圧縮ファイルを作成しておきます。今回の手順ではわかりやすい様に現行のリモートリポジトリはrepositoryとしております。
又、現状のリモートリポジトリの名称変更しておきましょう。
移行中にプッシュされて、差分ができちゃったら困っちゃいますからね。今回の例ですと現行のリポジトリー名.bkupに名称を変更しておきます。
tar cvf repository.tar repository mv repository repository.bkup
手順2.移行先サーバーへGitインストール
yum install git wget http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.3-1.el6.rf.x86_64.rpm yum -y --enablerepo=rpmforge install git-daemon
rpmforge-release-0.5.3-1.el6.rf.x86_64.rpmは私がGit移行した時の最新ファイルなので、現状の最新版をwgetする時にはhttp://pkgs.repoforge.org/rpmforge-release/ で探してください。
手順3.移行先サーバーのgit-deamonの設定をコピーする
基本移行元と移行先の/etc/xinetd.d/gitと同じ設定にします。そのをリスタートします。
$ /etc/init.d/xinetd restart
手順4.移行元サーバーから移行先サーバーへrepository.tarを転送、展開
移行先サーバーにて転送した書庫ファイル(.tar)を展開する
scp repository.tar @xxx.xxx.xxx.xxx:/移行したいディレクトリ tar xvf repository.tar
手順5.確認
移行先のリモートリポジトリにクローン(Clone)するなりプル(pull)するなりプッシュ(push)するなりして、問題なく移行がなされているか確認してみてください。
Gitリモートリポジトリのサーバー移行は結構簡単
基本的な流れは、移行先のサーバーにGitインストールして、移行元のリモートリポジトリのデータを全て転送して、設定同じにしてフィニッシュです。
色んな事態でリモートリポジトリのサーバー移行は発生と思いますので、是非参考にして頂ければと思います。
コメント