「バージョン管理システムとは何か〜GitとSubversionの違い」の続きです。
このサイトはさくらインターネットの「さくらのレンタルサーバ スタンダード」を使っています(2015/1/3追記:現在ははてなブログを使っています。)。 そこへGitサーバを構築してみました。なお、2013/01/06現在、Gitの最新バージョンは1.8.1です。
サーバ側の設定
mattintosh noteさんの「さくらインターネットのレンタルサーバに git のリモートリポジトリを作成する」が大変参考になりました。
Gitインストール
SSHでさくらのサーバにログインします。 root権限がなく/usrとかにはインストールできないので、ホームディレクトリ以下にインストールディレクトリを作ります。ついでにソースを展開するディレクトリも作っておきました。
$ mkdir local // インストールディレクトリ $ cd local $ mkdir src // ソース置き場 $ cd src
以下のコマンドを実行します。作業ディレクトリは~/local/srcです。
$ wget http://git-core.googlecode.com/files/git-1.8.1.tar.gz // ダウンロード $ tar zxfv git-1.8.1.tar.gz // 展開 $ cd git-1.8.1 $ ./configure --prefix=$HOME/local // インストールディレクトリを$HOME/localに指定 $ gmake $ gmake install // インストール
パスを通してから、gitが使えるかどうかを確認。
$ export PATH=$HOME/local/bin:$PATH // パス設定 $ git --version // バージョンを表示してみる git version 1.8.1 // 表示された
リポジトリ作成
作成するアプリはマンゴーに関係するソフトなので、リポジトリ用のディレクトリはmango.gitとする。.gitをつけるのがお作法。
$ mkdir -p git/mango.git $ cd git/mango.git/ $ git init --bare // 初期化 Initialized empty Git repository in /****/git/mango.git/ $ ls // いろいろできてる HEAD config hooks objects branches description info refs
.cshrcの変更
gitにパスを通しておくため、.cshrcの以下
set path = (/sbin /bin /usr/sbin /usr/bin /usr/local/sbin /usr/local/bin $HOME/bin)
を以下
set path = (/sbin /bin /usr/sbin /usr/bin /usr/local/sbin /usr/local/bin $HOME/bin $HOME/local/bin)
に変更。
こんなん知らなきゃ絶対ハマってそうだよなー。mattintosh noteさんに改めて感謝。
次はクライアント側の設定です。意外とハマりました。
クライアント側の設定
ここからはakiyoko blogさんの「Gitメモ ~ Macにgitインストール ~」に大変助けられました。
MacPortインストール
MacPortsは多分、Debianでいうところのapt-get。 MacPortsのサイトから、自分のOSのバージョンにあったパッケージをダウンロードしてダブルクリック。 これは特に問題なくできるはずです。
Command Line Tools for Xcodeインストール
いよいよGitインストール!と思ったら以下のようなエラーが。
Warning: The Command Line Tools for Xcode don't appear to be installed; most ports will likely fail to build. Warning: See http://guide.macports.org/chunked/installing.xcode.html for more information. ---> Computing dependencies for git-core Error: Unable to execute port: can't read "build.cmd": Failed to locate 'make' in path: '/opt/local/bin:/opt/local/sbin:/bin:/sbin:/usr/bin:/usr/sbin' or at its MacPorts configuration time location, did you move it?
どうやら「The Command Line Tools for Xcode」というのが必要らしい。 ということで、Xcodeのメニュー[Xcode]->[Open Developer Tool]->[More Developer Tool]をクリック。ブラウザ上でApple IDの認証画面が表示されるので認証を済ますと「Download for Apple Developer」というサイトに飛びます。「Command Line Tool for Xcode」の最新版をダウンロードし、パッケージをダブルクリックしてインストールします。
ようやくGitインストール
$ sudo port install git-core ---> Computing dependencies for git-core (略) (意外と時間がかかる) ---> Updating database of binaries: 100.0% ---> Scanning binaries for linking errors: 100.0% ---> No broken files found. $
依存関係のあるファイルもインストールするので、結構時間がかかりました。
これでようやく準備完了。
ローカルリポジトリ作成
Xcodeでプロジェクトを作成する際に、[Create local git repository for this project]チェックボックスをオンにすれば、ローカルリポジトリが作成されます。
リモートリポジトリとの関連づけ
以下のコマンドを実行し、ローカルリポジトリとリモートリポジトリを関連づけします。ここでは、Xcodeのプロジェクトは~/Desktop/mangoにあるものとします。
$ cd ~/Desktop/mango/ $ git remote add origin ssh://******/local/git/mango.git
※このコマンドを実行するためだけにGitをインストールしたんだけど、これ絶対Xcodeでできると思うんだよなぁ。
Xcodeからのコミットとプッシュ
まずはローカルリポジトリへのコミット。 Xcodeの[File]->[Source Control]->[Commit]を選択。変更点を下のテキストエリアに書き込み、[Commit * Files]をクリックします。
リモートリポジトリへのプッシュは、Xcodeの[File]->[Source Control]->[Push]で行います。 リポジトリの選択画面が表示されるので先ほどaddしたリポジトリを選択して[Push]をクリックします。
いやー長かった・・・。一日がかりでした。