概要
Gitをインストールし、共有リポジトリを作成してみます。GitはLinus Benedict TorvaldsによってLinuxのソースコードを管理するために作られた分散型バージョン管理システム
です。
インストール
yumパッケージでインストールする場合
リポジトリの優先順位付けにyum-prioritiesを使っています。ここでは優先順位を無視してすべてのリポジトリから最新のパッケージを探させるため、--disableplugin=prioritiesを指定しています。
# yum install git --disableplugin=priorities ... ================================================================================================== Package Arch Version Repository Size ================================================================================================== Installing: git x86_64 1.7.6-1.el5.rf rpmforge 6.5 M Installing for dependencies: perl-DBI x86_64 1.52-2.el5 base 600 k perl-Git x86_64 1.7.6-1.el5.rf rpmforge 24 k Transaction Summary ================================================================================================== Install 3 Package(s) Upgrade 0 Package(s)
ソースコードからインストールする場合
# cd /usr/local/src # wget http://www.kernel.org/pub/software/scm/git/git-1.7.4.rc2.tar.gz # tar zxvf git-1.7.4.rc2.tar.gz # cd git-1.7.4.rc2 # ./configure # make # make install
動作確認
バージョンを表示してみます。
# git --version git version 1.7.1
ヘルプを表示してみます。
# git --help
共有リポジトリの作成
初めにサーバー側で空の共有リポジトリを作成します。
$ sudo mkdir /var/git/myapp.git $ cd /var/git/myapp.git $ sudo git init --bare --shared=true $ sudo chown -R root:tetsuyai /var/git/myapp.git
次にクライアント側で初期登録を行います。
$ git init $ git remote add origin git+ssh://mydomain.com/var/git/myapp.git $ git add . $ git commit -m "initial import" $ git push origin master
初期登録が終わるとgit cloneできるようになります。空の共有リポジトリをcloneしようとするとエラーになります。
$ git clone git+ssh://mydomain.com/var/git/myapp.git fatal: no matching remote head
リモートリポジトリの詳細を確認してみます。
$ git remote show origin * remote origin Fetch URL: git+ssh://mydomain.com/var/git/myapp.git Push URL: git+ssh://mydomain.com/var/git/myapp.git HEAD branch: master Remote branch: master tracked Local ref configured for 'git push': master pushes to master (up to date)