SwapSkills Buildの34回目となる「上手に進行するためのGitHub入門」が、2013年7月25日(水)、東京都中央区の「大槻社労士事務所」にて開催されました。本稿では本イベントのレポートをお届けします。
今回のイベントは、コマンドが打てない方向けのGitHub入門として開催されました。データのバージョン管理として有名なGitHubは、コマンドの記述が必要ですが、GUIツールの導入で記述を不要に出来ます。ハードルが高かったWebディレクターやWebデザイナーもこれを機に導入することが出来るのではないでしょうか?
データ管理の事故を防ぐためのGItHub。何時間もかけて書いたCSSを誤って消してしまった。複数人で同時制作をしていてデータが先祖帰りしてしまった。データ管理が重要だからこそ、誰でも利用できるようになるよう、講師のWeb Directions Eastの菊池 崇氏が解説しました。
Gitとは何か?
GitとはLinuxの生みの親でもある、Linus Benedict Torvaldsによって作られました。データがすべて消えてしまった経験からデータ管理をするツールを作ったのです。Linux同様Unix系なので、Unix系のOSを使用しているMacには元々入っていますが、Windowsはダウンロードする必要があります。
分散型とは?
Gitは、分散型バージョン管理システムであることが特徴として挙げられます。
分散型のGitであれば、会社以外でも作業が可能です。また、オフラインでも作業ができ、差分(Diff)を取ってアップできます。Gitがデポジトリ(データの貯蔵庫のようなもの)を各自で持って居ることから、それらを可能にしています。
ローカルで管理できる個人のデポジトリをリモートデポジトリと呼びます
以前は、集中管理型が多く使われていました。分散型が使われるようになった理由のひとつとして、集中管理型にはサーバのホスティングについての問題があることです。会社独自のサーバで管理している場合は、会社以外で作業はできない等の問題があります。
バージョン管理システムとは?
バージョン管理システムとは、データの状態を管理するものです。例えば、データをサーバにアップロードし、そのデータをローカル環境にダウンロードして修正を加え、アップロードする。このような作業工程で、同じデータを別の人が作業してしまい、自分の作業分がなぜか消えてしまっていた、というような事故を経験された方もいるのではないでしょうか?
データの状態を常に管理することで、これらの事故を防ぐことができます。
GitHubが広く利用された理由は?
GItHubはGitに特化したホスティングサービスです。元々、オープンソースの会社の3人が開発したもので、無料版でアップした内容はすべて公開されてしまいます。有料版にすると非公開にすることも可能です。多くのプラグインを利用することでより便利にもできます。
ワークショップ
ワークショップでは、会場で一斉に確認しながら作業致しました。
アカウント作成
実際に作業する上で、アカウントを所有していない方は、GitHubサイトにて、アカウントを作成します。
GUIツールのダウンロード
Mac用のGUIツール、GitHub for Macをダウンロードします。アプリケーションに移動させ、起動してサインインします。
GitHub for Macは、Terminal(※)を使用せず、簡単にGitHubで作業できます。
リモートからリポジトリを作成する
実際の手順で、リポジトリを作成します。
GItHubサイト上のメニューバーから、自分のアイコンをクリックします。開いたページにある3つのタブメニューから、Repositoriesを選択します。
緑色のボタンをクリックすることで、リモート、ローカルそれぞれのディレクトリを指定します(図1)。
ローカルでGitHub for Macが起動し、許可を求めます(図2)。
リモートにも反映され、リポジトリができました(図3)。
他にも、以下のようなGItHubの基本操作を確認しました。
- ローカルからリポジトリを作成する
- コミットする(中央でデータ管理する人がデータマージする)
- フォークする(このタイミングで欲しいと思ったデータをチェックしておく)
最後に
GitHubの成り立ちの背景や基本的な仕組みを知り、データ管理の重要性をより意識したGitHub入門編でした。
菊池氏は最後に、本日の内容はあくまで基本的なことであり、プラグインの導入や複数人で実践するには、より多くのことを学ぶ必要があると話し、本イベントを終了いたしました。