
Git(ギット)はプログラムなどのソースコード管理を行う分散型バージョン管理システム。
うちのプログラマー先導のもと、社内にGit環境を構築しました。
本当によく分かっていないので、前提条件として
- ディレクトリやファイル名の管理は今まで通り。ムリに英語とか英数を使わない。
- 基本的にはGUI環境。
- コミットするルーチンが面倒にならないよう、+αの作業で行えるように。
用意するもの
まず社内でデータを共有すると言うことで、外部ストレージが必要です。NASを導入。
LinkStationの4.0TBにしました。2テラ×2なので、ミラーリングも掛けて安心です。
次に、アプリケーションです。Gitのアプリはイロイロあるのですが、さんざん試して行き着いたのが『Tower』です。

Tower – The most powerful Git client for Mac
5500円くらいしますが、十分な価値です。
下準備
ひとまず、NASを設置。リポジトリ用にディスク領域を割り当てます。
『repository』というディスクをMacにマウントさせるようにします。下準備はこれくらい。
Towerを使って、リポジトリの作成と設定
今回の作業、コンセプトとしては、コマンドやターミナルは一切使いません。全部GUIで進めていきます。
NAS上にリポジトリを作成
リポジトリとは、データの貯蔵庫みたいなものです。NAS上のリポジトリをみんなで共有します。

まずはTowerのDashboardで、『Create Local Repository』をクリック。

どこに作りますか?と出るので、NAS上のディレクトリをしています。
この場合、/Volumes/repository/test/wwwとなっています。
Macにボリュームとしてrepositoryをマウントしています。NAS上の、ローカルリポジトリということですね。
ココで重要なのがオプションの[Bare repository]にチェックを入れます。共有スペースにするために必須なんだそうです。

wwwディレクトリ以下に、branchesやconfigなど、謎のファイルたちが出現。これがリポジトリのファイルセットらしいです。
ひとまず、ココはもういじらなくてもよい領域。

ということで、TowerのDashboardで、先ほど作ったリポジトリを一覧から消しちゃいます。もう使わないので。

Tower上に要らない、というだけでリポジトリのファイルセットは必要です。[Keep Files]を選びます。
次はMac側にリポジトリを作成

またまたTowerのDashboardで、『Create Local Repository』をクリック。

今度はローカルのパスを指定します。
/Volumes/Magical/test/www
を、管理したい場合。
先ほどの[Bare repository]にチェックは入れません。

これでローカルのリポジトリ化が完了です。この状態で、自分用ならばもうバージョン管理ができます。ひたすらコミットすればいいので。
NASと連結
複数人で同じデータを共有したいので、NASにデータが送られるように設定します。

[Refs]→[Add New Remote Repository]を選択。

タイトルとURLを入れます。
タイトルやディレクトリは日本語でもOK。
実際に使ってみる
コレで事前の準備はあらかた完了です。複数人で使う場合、それぞれのマシンで同じ作業をすればOKです。
もしくは、NAS上のデータをクローンする、ということも可能です。これもGUIにて。
ファイルの変更

リポジトリ管理下のファイルに変更があると、Towerの画面にリスト表示されます。下部には変更箇所の中身まで表示されます。すげー。

コミットするには、対象ファイルにチェックを入れて[Working Copy]→[Commit…]を選択。

コミットするには必ずコメントを入力しなければいけません。面倒ですが仕方ない。ちなみに日本語もOKです。
ここまでは、自分だけで使う場合にも有効です。
NASに送る

[Working Copy]→[Push To…]を選択。
2回目からはアイコンのPushとかを使っても良いのですが、初回だけ『どこに送る』設定が必要なのでココから。

Push Branchが『.』になっていますので、リモート設定したときのものに変更します。Push2回目からはこの段取りは不要です。

ファイルがNASへPushされます。

しっかり履歴にも表示。

画像を追加したり、ファイルを変更すると自動検知されます。
一気に選択して、一気にコミット!

アイコンからも可能。メッセージ入力欄が右側にあるので、この画面だけで完結します。

2回目のPushはアイコンからが便利です。

ぞくぞくアップ。
コマンドのメモ
Towerを使っていてファイルの変更がなぜか検知されず、そのまま進めないことがあります。その場合はしょうがないのでターミナルで。
git commit -m 'コミット時のコメント' ./
まとめ・雑感
- 基本や仕組みをもうすこし理解したい
- 複数人で1つのファイルを管理するにはGitが優秀
- ただし詳しい人がいないと難しい
- 差分データとかが増えるので、画像系を管理すると、HDDの容量をかなり食いつぶす
コメントを残す