2012-10-03

ローカルなプロジェクトを元に共有gitレポジトリを作成する

ローカルに作業していたプロジェクトを管理するgitレポジトリをリモートサーバー上につくるには次のようにします。

まず、サーバー側に、空っぽのgitレポジトリを作成します。
mkdir repo.git
cd repo.git
git init --bare --shared

プロジェクトをローカルでもgitで管理していなかった場合は、git initをしてから、サーバーにデータを転送します。
cd <path_to_project>
git init
git add .
git commit -m "initial commit"
git remote add origin <username>@<host>:<path>/repo.git
git push -u origin master
みたいな感じにやります。リモートサーバーにはsshで接続するので、「<username>@<host>」の部分は、sshのときと同様にユーザ名とホスト名を指定します。「<path>/repo.git」には、先ほどつくったgitレポジトリへのパスを指定します。
pushするときに「-u」を指定していますが、これは、次回から「git push」だけで「git push origin master」と同じことを実行できるようにするためのものです。

上記は、gitレポジトリをローカルに新規作成する場合ですが、場合によってはすでにgitでプロジェクトを管理しているかもしれません。この場合は、
git remote -v
とやって、originが設定されているか調べます。originに関する情報が何も出力されなければ、上と同じくgit remote addをすればよいです。しかし、どこかからcloneしたレポジトリの場合は、
origin xxx.git (fetch)
origin xxx.git (push)
というような表示で、originに関する情報が表示されます。この場合は、すでにoriginが設定されているので、
次のようにしてoriginを書き換えます。
git remote set-url origin <username>@<host>:<path>/repo.git
これでoriginが正しく設定されるので、後は
git push -u origin master
を実行すればよいです。

0 件のコメント: