Gitでバージョン管理

外部サービスは使わずに自力でCentOS6系にGitサーバを構築してみます。
やってみたら想像以上に簡単でした。

インストール

# yum install git git-deamon git-all

xinetdの設定

# vi /etc/xinetd.d/git
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
}
# /etc/rc.d/init.d/xinetd restart

リポジトリの作成

# cd /var/lib/git/
# mkdir -p public_git/test.git
# cd public_git/test.git
# git --bare init --shared
# cd ..
# chown -R root:git test.git

gitグループの作成

# groupadd git

既存ユーザーのgitグループへの追加

userアカウントをgitグループへ追加する場合

# usermod -aG git user

git専用のユーザーを作成する場合

# useradd -g git gituser

追加後に /etc/passwd を編集して、該当ユーザーのシェルを

 /usr/bin/git-shell

へ変更します。

ローカルにクローン

適当なフォルダ test を作成し、上記で作成したリポジトリに対してクライアントTortoiseGitにて「Git クローン(複製)」を実行
URLは以下

ssh://user@example.com/var/lib/git/public_git/test.git

これでGitにて管理できるようになります。

別のリポジトリを作成する場合

# cd /var/lib/git/public_git
# mkdir test2.git
# cd test2.git
# git --bare init --shared
# cd ..
# chown -R root:git test2.git

URLは以下になります。

ssh://user@example.com/var/lib/git/public_git/test2.git

サーバ側でクローンする場合

$ cd /home
$ mkdir test
$ cd test
$ git clone ssh://user@127.0.0.1/var/lib/git/public_git/test.git ./

プルする場合は

$ git pull

Gitの移動

参考
https://qiita.com/ysti/items/be67a6e3c5754fac088a


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2019-02-26 (火) 14:19:55 (85d)