ブランチの操作を検証するための環境が欲しかったのが始まりです。
ググってみると、Git操作を学習するための「LearnGitBranching」というサービスがあったのですが、ブラウザによってデザインが崩れたり、コマンドの制約があったり、操作感覚も自分にとっては合わなかったようです。
なんだかんだ、実環境で手を動かした方が早そうだな。と思い、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操作に関する記事もアップしていこうと思います。