■ブランチ
クライアントのみの使用でコミット、リセット、ブランチと試しました。
ここまでで大体自分のパソコンにインストールして使う事が出来そうです。
これだけでも結構使えますが複数人による作業やバックアップをかねて
CentOSにもGitをインストールし、リモートリポジトリとして使って行こうと思います。

その前にGitの用語と考え方を一度整理

●リポジトリ
 ファイルやディレクトリの状態を記録する場所

 ○リモートリポジトリ
  専用サーバに配置して複数人で共有出来ます

 ○ローカルリポジトリ
  ユーザー一人ひとりが自分で利用するためのリポジトリです

・リポジトリはフォルダ単位
・今までパソコンにインストールして使っていたのはローカルリポジトリ

■リモートリポジトリに対しては以下の事が出来ます
 ○プッシュ(Push)
  ローカルリポジトリの内容をリモートへ反映させます

 ○プル(Pull)
  リモートリポジトリの内容をローカルへ反映させます

 ○フェッチ(fetch)
   リモートの履歴のみを取得します。内容をローカルに反映させないプル。

 ○クローン(Clone)
   リモートリポジトリを複製してローカルリポジトリとして保存します。

出来る事はブランチとちょっと似てますね。
ブランチはリポジトリ内で分岐させてマージ(統合)出来ます。
リモートリポジトリはリポジトリを分けてプッシュやプルで同期出来ます。

リポジトリを分ける事によって
・バックアップになる
 物理的に別の場所に保存する為機械が故障しても別の機械から復旧出来ます。

・複数人の作業がやりやすい
 複数人で同じソースを訂正しても差分をGitで確認し、統合した訂正が出来ます。

・別の場所での作業がやりやすい
 会社と自宅等2箇所で作業した場合
  ・どっちのファイルが最新なのか
  ・間違えて古いファイルで上書きした
  ・両方訂正してどっちをどう変えたか分からなくなった

等の作業がGitによる管理でやりやすくなりそうです。
今まで上記のようなミスはいっぱいしてきました。
なのでGitを使うと良さそうと思えるのですね。

当然ながら普段からリモートへもきっちりプッシュ(更新)しなければ意味がありません
バージョン管理は普段からの使い方が重要で普段やっておかないといざと言う時こまる
バックアップみたいな物ですね。


■■■サーバへのインストール■■■

●git, git-daemon, git-all を yum でインストールする。
# yum -y install git git-daemon git-all

●クライント側から要求があった場合のみ Git サーバを起動するようにする
/etc/xinetd.d/git の disable の値を yes から no に変更する。
# vi /etc/xinetd.d/git

# default: off
# description: The git damon allows git repositories to be exported using \
#       the git:// protocol.

service git
{
        disable         = no      # <- 変更
        socket_type     = stream
        wait            = no
        user            = nobody
        server          = /usr/libexec/git-core/git-daemon
        server_args     = --base-path=/var/lib/git --export-all --user-path=public_git --syslog --inetd --verbose
        log_on_failure  += USERID
}

●変更を有効化するために、xinetd を再起動する。
# /etc/rc.d/init.d/xinetd restart
※これでインストール完了

●リポジトリ作成
/var/lib/git/public_git/test.git/にリポジトリを作成する場合
# cd /var/lib/git/
# mkdir public_git
# mkdir public_git/hptest
# cd public_git/hptest
# git --bare init --shared
Initialized empty shared Git repository in /var/lib/git/public_git/hptest/
※--bare … git に対するオプション。管理ファイル等を作成する。
 --shared … init に対するオプション。グループ書きこみ権限を追加する。

●グループの作成
Git 用グループを作成し、作成したディレクトリ内の権限を設定する。
# groupadd git
# usermod -G admin,git admin
# chown -R root:git /var/lib/git/
ユーザーadminを使用する事とし、そのユーザーをgitグループに入れる
既存ユーザーを使う場合usermod指定で元から所属しているグループを指定
しないとそのグループから外れてしまうので注意


■■■プッシュしてみる■■■
ローカルリポジトリをリモートと同じ、hptestで作成します。1回コミットしておきます。

フォルダを右クリックしてプッシュ(リモートへ反映)をクリック




初回はリモートの登録を行います。あて先>リモートの右にある管理ボタンをクリック




URLはこんな感じ
ssh://admin@IPアドレス:ポート/var/lib/git/public_git/hptest
ユーザー@IPアドレス、ポートは通常22このHPの紹介では変更しているので10022
後はリモートで作成したフォルダになります。
入力後、OKをクリックするとoriginと言う名前で登録されます。




あて先がoriginになっています。OKボタンをクリックするとプッシュ出来ます。



プッシュするにはパスワードの入力が必要になります。ユーザー(今回はadmin)のパスワードを入力します。
※URL等を間違えていると失敗します。



ひとまずこれでリモートリポジトリにデータをプッシュする事が出来ました.
これで自分のパソコンとサーバにプログラムが保存された事になるので
バックアップとしてだけでも意味があると思います。

トップへ戻る