VPSサーバーにGitをセットアップする手順

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に登録します。(アクセス権についての説明は省略しています。必要に応じて、chmodchownで設定してください。)

# 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 johndoe@example.com

git clone

リポジトリからプロジェクトのコピーを取得するにはgit cloneを使います。

$ git clone ssh://example.com/home/git/project.git

クライアントのユーザー名と異なるユーザー名でSSHにログインしたり、SSHのポート番号をデフォルトの22番以外で使う場合は以下のようにします。

$ git clone ssh://git@example.com: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 よりできます。

TortoiseGit – Windows Shell Interface to Git
https://tortoisegit.org/

for 32-bit OSとfor 64-bit OSがありますので、使用しているPC環境に合わせてダウンロードしてください。

msysgit

TortoiseGitを使用するのに必要になりますので、msysgitもインストールします。

Git for Windows
http://msysgit.github.io/index.old.html

一番新しいファイル (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の使い方というサイトで公開していた内容です。使用していたレンタルサーバーのサービス終了に伴い移転しました。

コメントを残す

メールアドレスが公開されることはありません。