Gitとは
プログラムなどのソースをバージョン管理するシステムです。
ファイルやディレクトリに日付を入れるのも簡単なバージョン管理ですが、それの上位版と言えば良いでしょうか。
(なんと簡単な説明!)
使うだけならローカルでもOK
Gitは、ローカルだけで使うことができます。
Windowsは、Git for Windowsをインストールします。
Macは、Xcode(Command Line Tools)をインストールすると一緒に入ります。
バージョンが古い場合は、Homebrewで入れると良いでしょう。
ホスティングサービス
ローカルだけでも使えるGitですが、メンバーと共有する際は、外部にデータ(リポジトリ)を置かなくてはいけません。
GitHubやBitbucketなどのホスティングサービスにリポジトリを置くことで、メンバーと共有することができます。
プランによります、非公開のリポジトリは、有料になることが多いです。
私はメンバーとGitをしたいという理由だけだったので、予算がありませんでした。
- GitHubは、非公開のリポジトリは有料になります。
- Bitbucketは、5ユーザーまでなら無料のようです。
さくらのVPSでGitoliteをやる
というわけで、あまり活用されていないツクメモが置いてあるさくらのVPSでGitをやることにしました。
調べてみると、Gitoliteというものを使うと簡単にできるみたいなので、やってみました。
Gitoliteとは
共有したリポジトリやユーザーを管理するためのツールらしいです。
難しいことはよくわかりませんが、これを入れると簡単にメンバーと共有できるみたいですね。
SSHの鍵の作成
Gitoliteユーザー用にSSHの鍵を作成します。
Git for Windowsがインストールされていれば、Windowsでもコマンドでできるみたいです。
WinSCPのPuTTYでも大丈夫だと思います。
Macはコマンドで問題ないですね。
$ cd ~/.ssh $ ssh-keygen -t rsa
設定しないとid_rsaという名前になりますが、分かりやすい名前にしましょう。
ここではadminという名前にし、パスワードを無しにします。
ファイルが2つ作成されます。
pubが付いたファイルをさくらのVPSにコピーしましょう。
FTPソフトでもSCPコマンドでも良いです。
$ scp -P 123456 ~/.ssh/admin.pub morisan@111.111.111.111:~/
Gitolite用のユーザーを作成
さくらのVPSにログインして、Gitolite用のユーザーを作成します。
SAKURA Internet [Virtual Private Server SERVICE] $ sudo adduser git
接続可能なユーザーを制限している場合は、AllowUsersに追加することを忘れないでください。
$ sudo vi /etc/ssh/sshd_config AllowUsers **** gituser $ sudo /etc/init.d/sshd restart
また、先ほどコピーしたadmin.pubをgitユーザーに変更して、権限のあるディレクトリに入れておきます。
$ sudo chown git:git admin.pub $ sudo mv admin.pub /home/git/
Gitのアップデート
さくらのVPSにGitが入っているかもしれませんが、新しいバージョンを入れます。
$ sudo yum remove git $ sudo yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel perl-ExtUtils-MakeMaker $ wget https://www.kernel.org/pub/software/scm/git/git-2.6.3.tar.gz $ tar -zxf git-2.6.3.tar.gz $ cd git-2.6.3.tar.gz $ sudo make prefix=/usr/local all $ sudo make prefix=/usr/local install $ git --version
作成したユーザーでGitoliteをインストール
$ su - git $ mkdir -p ~/bin $ git clone git://github.com/sitaramc/gitolite $ gitolite/install -ln ~/bin $ exec $SHELL -l $ gitolite setup -pk admin.pub
ローカルに戻って、configに登録
~/.ssh/configに設定を登録すると接続が楽になります。
$ vi ~/.ssh/config
Host gitolite User git Hostname 111.111.111.111 Port 123456 Identityfile ~/.ssh/admin
gitolite-adminリポジトリを取得
gitoliteは、gitolite-adminリポジトリを更新することで、ユーザーとリポジトリの管理ができます。
conf/gitolite.confに書き込んで、pushすると追加や変更することができます。
$ git clone gitolite:gitolite-admin
SourceTree
Gitは、コマンドでも使えたほうが良いですが、見ためが分かりやすいSourceTreeというアプリケーションも併用すると良いです。
Free Mercurial and Git Client for Windows and Mac | Atlassian SourceTree
これでGitライフが楽しくなりそうです。
それでは、また!
参考サイト
ユカイ、ツーカイ、カイハツ環境!(26):Git管理の神ツール「Gitolite」なら、ここまでできる! (1/2) – @IT
【Linux】 CentOSにGitolite を導入する – kzy52's blog
他多数
コメント