Git Git Git @ Ubuntu

備忘録

目標はローカルでも実行しつつ鯖にも置いておきたい。

前提条件
  1. 各クライアントはssh公開鍵を鯖に登録してパスフレーズなしでログインできるようになっていること。
    1. デーモンとしてgit-daemon-runというパッケージがあるが、かなり順番を注意してaptitude経由で入れないと動かない模様
  2. 今回はssh経由でつなぐのでデーモンサービスは起動しない。
サーバ側(srv)
  1. gitリポジトリを作る
    1. ここで気をつける必要があるのはリポジトリを公開モードにすること。

sudo apt-get install git-core
#ここから先は<鯖ユーザ>(git専用のユーザが好ましい?)
mkdir git
mkdir git/app
cd git/app
git init --bare --shared=true
git config --bool core.bare true

クライアントA側(clientA)
  1. gitレポジトリを作る
    1. こちら側でプロジェクトを開始するものとする。

sudo apt-get install git-core
mkdir git
mkdir git/app
cd git/app
git init
git add .
git commit
git remote add origin ssh://<鯖ユーザ>@<鯖アドレス>/home/<鯖ユーザ>/git/app
git push origin master

クライアントB側(clientB)
  1. gitレポジトリを作る
    1. こちら側でプロジェクトを取得するものとする。

sudo apt-get install git-core
mkdir git
mkdir git/app
cd git/app
git init
git add .
git commit
git remote add origin ssh://<鯖ユーザ>@<鯖アドレス>/home/<鯖ユーザ>/git/app
git pull origin master

Eclipse先生に関して

  1. 面倒くさいので極力リポジトリから入れる

sudo apt-get install eclipse

  1. 追加でプラグインegitを入れるとgitで管理が可能となる。
  2. +
  3. で、問題となるのはegit経由でpushする場合で以下の様なURIを毎度入れる必要がある。
    1. git+ssh://<鯖ユーザ>@<鯖アドレス>/home/<鯖ユーザ>/git/app
  4. 最近ではpullも使えるようになったらしい。
  5. 注意点としてegitは自動的にプロジェクトのディレクトリがgitリポジトリでも認識してくれないので再度コマンドライン上とは別に登録する必要がある。