GitをGentoo Linuxサーバー上で動作させるための手順をメモです。Gitデーモンを使うなどいろいろとあると思いますが、今回は簡単にSSH経由で使うようにしています。
※他のディストリビューションでもインストールコマンド(emerge
)以外の設定は基本的に同じだと思います。
Git のインストール
既にインストール済みの場合は省略できますが、インストールしていない場合は以下のコマンドでインストールします。
# emerge git
Git 準備
ユーザーの作成
Gitで使うユーザーを作成します。(既に存在するユーザーを使う場合は省略できます。)
# useradd -m -s /usr/bin/git-shell git
ログインシェルをgit-shell
にしてあります。一時的にbash
を利用したい場合は、su
コマンドの-s
オプションを使って
# su -s /bin/bash - git
という風にします。
(以下はシェルにbash
を使って設定しています。)
※面倒な場合はログインシェルをbash
にしても問題ありませんが、Gitでしか使わないユーザーなのであればgit-shell
を使う方がセキュリティ上安心できるかと思います。
空のリポジトリの作成
空のリポジトリを作成する場合は、git
になって以下のようなコマンドを実行します。
$ cd $HOME $ mkdir project.git $ cd project.git $ git --bare init
これで、空のリポジトリproject.git
が作成できます。
リポジトリを新しく追加する場合も同様にディレクトリを作成して、git --bare init
を実行することで追加できます。
SSHの準備
秘密鍵と公開鍵の作成
クライアントとして使う端末からssh-keygen
コマンドを使って鍵を作成します。
$ ssh-keygen
公開鍵をサーバーに登録
ssh-keygen
で作成した公開鍵をサーバーに持って行きます。ここではscp
コマンドを使用していますが、他の安全な方法で転送しても問題ありません。
$ scp <source> <target>
次は、転送したファイルをgit
ユーザーの$HOME/.ssh
に登録します。(アクセス権についての説明は省略しています。必要に応じて、chmod
やchown
で設定してください。)
# su -s /bin/bash - git $ cat /tmp/id_rsa.pub >> ~/.ssh/authorized_keys $ exit # rm /tmp/id_rsa.pub
以上で Gitを使う準備は完了です。
Git の使い方
初期設定
ユーザー名やメールアドレスを登録します。
$ git config --global user.name "John Doe" $ git config --global user.email [email protected]
git clone
リポジトリからプロジェクトのコピーを取得するにはgit clone
を使います。
$ git clone ssh://example.com/home/git/project.git
クライアントのユーザー名と異なるユーザー名でSSHにログインしたり、SSHのポート番号をデフォルトの22番以外で使う場合は以下のようにします。
$ git clone ssh://[email protected]:12345/home/git/project.git
これらのコマンドを実行すると、カレントディレクトリにproject
というディレクトリが作成され、そこにリポジトリがクローンされます。違うディレクトリにクローンしたい場合は、下記のようにクローン先のディレクトリを指定します。
$ git clone ssh://example.com/home/git/project.git path-to-dir
git pull
リポジトリの内容を最新に更新するにはgit pull
を使います。
$ git pull
git add
コミットするファイルとして追加するにはgit add
を使います。
$ git add path-to-file
path-to-file
としてワイルドカードを使って*.py
とすることもできます。
$ git add *.py
また、ディレクトリを指定すると再帰的に追加されます。
$ git add path-to-dir
変更のあったファイルを一括して追加(削除されたファイルは削除)する場合は-A
オプションが使えます。
$ git add -A
実際にはadd
しないで、add
される内容を確認する場合は-n
オプションが使えます。
$ git add -A -n
git commit
リポジトリにファイルをコミットする場合はgit commit
を使います。その際、-m
オプションでコメントを指定します。
$ git commit -m "comment"
git push
共用リポジトリの更新にはgit commit
の後にgit push
をします。
$ git push
git diff
リポジトリとの差分を比較する場合はgit diff
を使います。
$ git diff
WindowsでのGitの使い方
Windowsで使えるGitクライアントはいろいろありますが、ここではTortoiseGitの使い方を紹介したいと思います。
インストール
TortoiseGit
ファイルのダウンロードは下記 URL よりできます。
for 32-bit OSとfor 64-bit OSがありますので、使用しているPC環境に合わせてダウンロードしてください。
msysgit
TortoiseGitを使用するのに必要になりますので、msysgitもインストールします。
一番新しいファイル (Git-1.8.5.2-preview20131230.exe) をダウンロードしてインストールします。
初期設定
SSH の鍵ペアを作成
スタートメニューから「Git » Git Bash」を実行してSSHで使う鍵を作成します。
$ ssh-keygen.exe
作成されたid_rsa.pub
をサーバーに送信して、~/.ssh/authorized_keys
に登録します。
$ cat id_rsa.pub >> ~/.ssh/authorized_keys
Gitの初期設定
ユーザー名とメールアドレスを登録します。
SSHの設定をします。
リポジトリの取得
エクスプローラーで右クリックをして「Git Clone」を選択します。
こちらの記事はGentoo Linuxの使い方というサイトで公開していた内容です。使用していたレンタルサーバーのサービス終了に伴い移転しました。