トリコロールな猫

猫とつくばと茨城をこよなく愛するnekotricolorのブログです

Gitリモートリポジトリの作成とXcodeからのコミット、プッシュ

バージョン管理システムとは何か〜GitとSubversionの違い」の続きです。

nekotricolor.hatenadiary.jp

このサイトはさくらインターネットの「さくらのレンタルサーバ スタンダード」を使っています(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」の最新版をダウンロードし、パッケージをダブルクリックしてインストールします。

2013-01-06-git-1

ようやく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]チェックボックスをオンにすれば、ローカルリポジトリが作成されます。

2013-01-06-git-2

リモートリポジトリとの関連づけ

以下のコマンドを実行し、ローカルリポジトリとリモートリポジトリを関連づけします。ここでは、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]をクリックします。

2013-01-06-git-3 リモートリポジトリへのプッシュは、Xcodeの[File]->[Source Control]->[Push]で行います。 リポジトリの選択画面が表示されるので先ほどaddしたリポジトリを選択して[Push]をクリックします。

2013-01-06-git-4

いやー長かった・・・。一日がかりでした。

関連記事

nekotricolor.hatenadiary.jp

nekotricolor.hatenadiary.jp

nekotricolor.hatenadiary.jp