Gitレポジトリの作成
2012/06/10
『改訂新版 基礎Ruby on Rails』 読者サポートページ > Rails本番環境構築ガイド
Capistranoによるデプロイの続きです。
ソースコードを管理するためのGitレポジトリをリモートマシンの作成するする手順を示します。
この文章の内容は、随時更新しています。最終更新日: 2012/06/010
以下、ローカルマシン(あなたのPC)で作業する場合はコマンドプロンプトを %
で示し、リモートマシン(サーバ)で作業する場合はコマンドプロンプトを $
で示します。
Gitレポジトリの作成
Webサーバを運用するリモートマシンにGitレポジトリを作成します。
まずリモートマシンにgit
ユーザーを作成します。
$ sudo useradd -m -d /var/git git $ sudo passwd git $ sudo chmod 750 /var/git
rails
ユーザーをgit
グループに加えます。/var/git
ディレクトリの読み取り権限が与えられることになります。
$ sudo gpasswd -a rails git
ローカルマシンからあなたのSSH公開鍵をgit
ユーザーのホームディレクトリに転送します。
% scp .ssh/id_rsa.pub git@asagao.oiax.jp:~
git
ユーザーでリモートマシンにログインします。
SSH公開鍵をauthorized_keys
に加えます。
$ mkdir -m 700 .ssh $ cat id_rsa.pub >> .ssh/authorized_keys $ chmod 600 .ssh/authorized_keys $ rm id_rsa.pub
あなたの他にもレポジトリに書き込む人がいる場合は、その人の公開鍵を入手してauthorized_keys
に加えてください。
空のレポジトリ asagao.git
を作成します。
$ mkdir asagao.git $ git init --bare --shared=0640 asagao.git
--shared=0640
は asagao.git
レポジトリ全体のパーミッションを 0640
とするためのオプションです。グループ所属のユーザーには読み取り権限のみを与えています。
Gitの環境設定
まだ行ってなければ、ローカルマシンでGitの環境設定を行います。
% git config --global user.email "kuroda@example.com" % git config --global user.name "Tsutomu Kuroda"
kuroda@example.com
と Tsutomu Kuroda
の部分は、あなたのメールアドレスと名前で置き換えてください。
エディタで ~/.gitignore
を開き、レポジトリに加えたくないファイルやディレクトリを追加します。たとえば、あなたが使用しているエディタ、IDE、各種ツールなどが作るファイルやディレクトリを加えてください。
*~ /.DS_Store /.rbenv-version /nbproject
アプリケーション固有のファイルやディレクトリのうち、レポジトリに加えたくないものは、作業ディレクトリ直下の .gitignore
ファイルに追加してください。
レポジトリにソースコードを登録
ローカルマシンのasagaoディレクトリに移動して、以下のコマンドを順に実行します。
% git init % git add . % git commit -m 'initial commit' % git remote add origin git@asagao.oiax.jp:asagao.git % git push origin master
git remote add
コマンドで設定したURLを訂正する場合は、git remote set-url
を利用してください。
目次
- VirtualBoxによる仮想マシンのインストール
- MinGWのインストール (Windowsユーザー向け)
- サーバーの準備(CentOS 6.2編)
- サーバーの準備(Ubuntu Server 12.04 LTS編)
- サーバーの準備(Ubuntu Server 10.04 LTS編)
- SSH公開鍵の設置
- Ruby 1.9.3のインストール
- Railsアプリケーションのセットアップ
- ApacheとPhusion Passengerのセットアップ
- データベースとの接続(MySQL編)
- データベースとの接続(PostgreSQL編)
- Capistranoによるデプロイ
- 'Gitレポジトリの作成
- 続・Capistranoによるデプロイ