Gitのインストール
yum -y install git
apt-get install git
サーバ用途としてのリポジトリの作成(共有リポジトリ)
Gitは分散型のファイル管理のため各マシンにリポジトリと実際に編集を行うファイルが存在するが、サーバ用途で使用する場合はリポジトリ飲みが存在することになる。 この様なリポジトリを ベアリポジトリ と呼ぶ。
ベアリポジトリへアクセスするためのグループの作成 複数ユーザに対して設定する場合はグループを設定してユーザをグループに所属させて運用する
# groupadd Gitにアクセスするグループ
ベアリポジトリへアクセスするためのユーザの作成
# useradd -g Gitにアクセスするグループ ユーザ
作成したユーザのパスワードを設定する
# passwd ユーザ
ベアリポジトリを作成するディレクトリの作成 慣例的に末尾を.gitにする
# mkdir -p リポジトリ用ディレクトリ.git
ベアリポジトリの作成 gitアクセスユーザにsuする
# su - ユーザ
$ cd リポジトリ用ディレクトリ.git
ベアリポジトリの作成
–bare ベアリポジトリの作成 –shared ベアリポジトリの作成を行ったユーザが所属するグループに対して書き込み権限を付与する
$ git init --bare --shared
ベアリポジトリへの接続方法
Gitサーバへアクセスするプロトコルはgit、http、https、sshがある。 そのうち、読み書きのできるプロトコルはsshとなる。 sshへの接続法法は、sshへアクセスできるユーザを作成してそのユーザで認証する方式と、ssh公開鍵を利用して接続する方法がある。
sshでの接続方法
git clone ssh://サーバ:[ポート]/リポジトリパス.git
GitLabのインストール
事前準備
httpdの停止
systemctl stop httpd.service systemctl disable.httpd.service
https://about.gitlab.comからダウンロード このページをブラウザで開き、OSを選択して書かれているとおりにコンソールへコピペするとインストールができます。
Gitを使ったファイル管理
Gitの特徴である分散型ファイル管理の方法では必ず競合の問題が関わってくるが、それを克服すれば中央管理型のファイル管理よりも高速で、ローカル内でエラーを気にすることなく管理することができるツールとなる。
中央管理型(SVNなど)でリモートリポジトリとローカルリポジトリを作成して管理する場合、それぞれのリポジトリは別のものであり、それをマージすることは困難(そもそも別リポジトリでのマージはサポートされていないので不可能と言ってもいい)になるが、 分散管理型の場合、リモートとローカルとの同期(プル、プッシュ)やブランチ間のマージ機能が強化されているため通常はmasterをマージしてからコミットすればほとんど競合を起こすことなくマージリクエストを出すことが可能となります。
Gitを使った管理方法
テスト時に接続するDBの設定が違う場合に設定ファイルを書き直さなければならなかったり、状況に応じて設定を変えたい場合などは、ローカルのみでブランチを作成してそこでファイルを管理して、チェックアウト後や一時的にリモートに合わせてコミットしたファイルを戻すときに楽になります
マージ
ローカルリポジトリとリモートリポジトリが分かれているためGitえかマージ作業が必要不可欠です。 ローカルで管理しているリポジトリとリモートリポジトリとの同期をとる作業がプルやプッシュ、ブランチとマスターとの同期をとる作業がマージとなります。
Gitの基本的な運用はmasterを主としてファイルを管理し、それぞれの担当者がブランチを作成して、 それをローカルリポジトリで管理しながら作成後にmasterへのマージリクエストを出してリリースします。 まずはプルしてリモートのブランチと同期をとり、そのあとmasterとマージしておけばマージリクエストでの競合を防ぐことが出来ます。