git(gitolite3)にて新しいリポジトリを作成する

この記事には広告を含む場合があります。

記事内で紹介する商品を購入することで、当サイトに売り上げの一部が還元されることがあります。

Git Logoは、Jason Long が作成および提供した作品であり、Creative Commons 3.0 Attribution ライセンスに記載された条件に従って使用しています。

gitolite3によるソース管理

ソース管理ツールは多人数で開発を行うときの必需品アイテムと言ってもよい存在です。幅広い開発者に使われているツールとして「git」や「subversion」が有名で、その中でも gitlite3(git) についての新しいリポジトリの作成方法を確認してみます。

 

リポジトリの作り方

リポジトリを作成するコマンド

git init –bare (プロジェクト名).git

となります。
リポジトリを作成するときは、事前にgit内のrepositoriesフォルダの中に移動しましょう。

 

リポジトリ作成の実行サンプル

では実際に「hogehoge.git」を作成するときの実行サンプルを記載します。

gitolite3@localhost:/home/gitolite3# cd repositories

gitolite3@localhost:/home/gitolite3/repositories# git init --bare hogehoge.git
Initialized empty Git repository in /var/lib/gitolite3/repositories/hogehoge.git/

gitolite3@localhost:/home/gitolite3/repositories# ls -la
total 12
drwx------  6 gitolite3 gitolite3 4096 Jul  1 15:57 .
drwx------ 33 gitolite3 gitolite3 4096 Jul  1 10:26 ..
drwx------  7 gitolite3 gitolite3 4096 Jul 15 15:58 hogehoge.git

 

リポジトリに対するユーザーへの権限付与

では作成したリポジトリにアクセスできるユーザーを設定しましょう。

ユーザーへのアクセス権の付与は「gitolite-admin.git」を利用します。
「gitolite-admin\conf\gitolite.conf」にあるファイルをテキストツールで開きます。

リポジトリに対するユーザーへの権限付与は

repo (リポジトリ名)
RW+ = (読み込み・書き込み権限を付与するユーザー)

と記述します。「R」が読み込み権限で「W」は書き込み権限となります。

 

権限付与の記述サンプル

hogehoge リポジトリに対して、hogehogeuser へ読み込みと書き込み権限を付与したサンプルです。

repo hogehoge
    RW+     =   hogehogeuser

 

権限付与に失敗したとき

権限付与に失敗すると「git clone」を実行したときに下記のエラーが発生することがあります。そのときは「gitolite-admin」を再確認して、権限の設定に誤りがないかを確認しましょう。

% git clone gitolite3@localhost:hogehoge.git hogehoge
Cloning into ‘hogehoge’…
FATAL: R any hogehoge hogehogeuser DENIED by fallthru
(or you mis-spelled the reponame)
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.

 

git へのユーザーの追加

念のためgitへのユーザーの追加方法も簡単に記載します。
ユーザーの追加も「gitolite-admin.git」を利用します。「gitolite-admin\keydir\(ユーザー名).pub」にユーザーの公開鍵を追加することで、ユーザーを追加することができます。「gitolite.conf」に記載するユーザー名は、ファイル名(ユーザー名).pubを指します。

C:\gitolite-admin\keydir>dir
 C:\gitolite-admin\keydir のディレクトリ

2018/09/02  08:06    <DIR>          .
2018/09/02  08:06    <DIR>          ..
2017/10/31  11:00               396 admin.pub
2018/09/02  11:10               394 hogehogeuser.pub
               2 個のファイル                 790 バイト
               2 個のディレクトリ   4,847,648,768 バイトの空き領域

 

さいごに

開発者によっては、大きいプロジェクトまたは単一のプロジェクトを開発し続けるので、git の新しいリポジトリの作成方法は意外と忘れがちです。「あれっ、どうやってリポジトリを作るのか忘れた」というときに本記事がお役に立てれば幸いです。

 

 

ウェブプログラミングについては下記の本も参考になるので、スキルアップにお役立てください。

created by Rinker
徳丸 浩(著)
ページ数: 688ページ
出版社:SBクリエイティブ
発売日:2018/06/21

出典:amazon