VagrantにGit検証環境を構築してSourceTreeで連携する

Git

ブランチの操作を検証するための環境が欲しかったのが始まりです。

ググってみると、Git操作を学習するための「LearnGitBranching」というサービスがあったのですが、ブラウザによってデザインが崩れたり、コマンドの制約があったり、操作感覚も自分にとっては合わなかったようです。

Learn Git Branching
A interactive Git visualization tool to educate and challenge!

なんだかんだ、実環境で手を動かした方が早そうだな。と思い、GUIでGit操作ができるSourceTree + 検証用の環境を構築しようと思いました。

そんな感じで環境構築の手引きをメモとして残しておきます。

前置きとして、、
SourceTree + Vagrantはインストールが完了していることを前提としております。

ゴールとして、
SourceTreeでVagrant環境側のリモートリポジトリにアクセスできるところまでを構築していきます。(今回はGit操作はメインでなく、あくまでGit操作を自由にできるための環境構築までをゴールとしております)

スポンサーリンク

Vagrant環境側

リモートリポジトリの作成

まず、Vagrant環境にsshでログインします。

// リモートリポジトリ用のディレクトリを作成
$ mkdir /home/git/testrepo.git
// 作成したdirに移動
$ cd /home/git/testrepo.git
// リポジトリ初期化実行
$ git init --bare --shared=true

git initに成功すると以下フォルダ + ファイル群が生成されます。

$ ls -l
total 12
drwxrwsr-x. 2 root root   6 Sep 20 14:28 branches
-rw-rw-r--. 1 root root 126 Sep 20 14:28 config
-rw-rw-r--. 1 root root  73 Sep 20 14:28 description
-rw-rw-r--. 1 root root  23 Sep 20 14:28 HEAD
drwxrwsr-x. 2 root root 242 Sep 20 14:28 hooks
drwxrwsr-x. 2 root root  21 Sep 20 14:28 info
drwxrwsr-x. 4 root root  30 Sep 20 14:28 objects
drwxrwsr-x. 4 root root  31 Sep 20 14:28 refs

リモートリポジトリの権限を調整

作成したリポジトリの所有者・グループをvagrantに設定しておきます。
※ リポジトリのパスは適宜読み替えて実行してください。

$ chown -R vagrant:vagrant /home/git/testrepo.git

これをしておくことでSourceTree側でaddや、プッシュをした時のパーミッションエラーを回避できます。

クライアント環境側

SourceTreeでリモートリポジトリをクローン

クライアント環境側のSourceTreeで、Vagrant環境に作成したリポジトリをクローンします。

「ソース URL」に入力するリンクについて。
Vagrant環境にsshでアクセスするためのリンクは特殊に感じるかもしれません。
迷ったら、以下記事に詳細がありますので参考にしてください。

「保存先のパス」+ 「名前」を組み合わせたディレクトリがローカルの作業ディレクトリとなります。
※ 今回の例で言うと、「/Users/username/gittest/testrepo/」直下。

以上。
これで、クライアント環境側のSourceTreeからVagrant環境側のリモートリポジトリに疎通ができました。

この環境に対してなら、不慣れなGit操作を周りに気にせず検証することができそうです。

今回は環境構築までですが、今後、Git操作に関する記事もアップしていこうと思います。

タイトルとURLをコピーしました