2012年9月14日金曜日

[Git][バージョン管理][Dropbox]GitとDropbox使って、チーム開発を爆速にしよう

イトウです。

本日のテーマは「Git + Dropboxで、バージョン管理しようぜ!」です。

■バージョン管理する方法

■バージョン管理って?
■個人開発?チーム開発?
■共用リポジトリをどこに置くか?
■GitとSubversion

=======================


■バージョン管理する方法
GitやSubversionなどのバージョン管理ソフトに慣れ親しんでいる人は、
特に説明は要らないでしょう。下のスライド読みながらサクサクいきましょう。




================

ここから下は「Git?Subversion?え?え?え????」な人のために書きます。


■バージョン管理って?
・書いたソースコードを効率的に管理するための仕組み、みたいなものです。
・ソースコードを簡単に昔のバージョンに戻すことができます。
・なので、変更してる内に分けわからんくなった…、なんて時も大丈夫。

究極の手動バージョン管理は、
・作業ディレクトリをコピー
・「backup_20120914」とか別名でディレクトリを保存
・ソースに変更がある度、この手順でディレクトリを作っていく
みたいな感じ。

手動でコピーするのめんどくさい。 → コマンド打つだけで自動でやってほしい
各バックアップ毎の中身の確認が面倒。 → 差分だけ表示してサクッと確認したい
ディレクトリ作りすぎて容量圧迫やばい。 → 容量を圧迫することなく管理したい


この赤字の部分の問題を解決したのが「バージョン管理ソフト」なのです。


■個人開発?チーム開発?
・バージョン管理を使うには、「リポジトリ」というのが必要になります。
・「リポジトリ」ってのは簡単にいうと、バージョン情報を保持してるフォルダみたいなもの。
・一人で開発する時には、適当にデスクトップとかのローカル環境に作ればOK。
・しかし、チームで開発する時には、チームのメンバ全員から参照できる必要がある。


AさんのPCのデスクトップにリポジトリ(フォルダ)を作ると、
もちろんBさんのPCからはアクセスすることができません。
これではチーム間でソース共有はできません。困りました。

では、どうすればいいでしょうか?


■共用リポジトリをどこに置くか?
1. GitHub
2. どっかのサーバ上に設置
3. Dropboxを使う

1. Github
・最近話題のGitHub。
・ウェブ上にリポジトリ(フォルダ)を置くことでチーム全員がアクセスできるようにする。
・無料で使えて、操作性も高いので人気。
♦ただ、SSHとかの設定をする必要があるので、超ド初心者は時間かかる。
♦無料利用ではソースは全世界に公開されてしまうので、超ド初心者は恥ずかしい。

2. どっかのサーバ上に設置
・自分で借りているレンタルサーバ上にリポジトリを設置する方法。
・リポジトリ(フォルダ)までのURLは関係者にしか知らせないので、非公開で運用できる。
♦ただ、レンタルサーバ借りてない人はGitだけのために借りるのはアホらしい。
♦チームのメンバ分アカウント作ったり、設定にも時間がかかる。

3. Dropboxを使う
・上のスライドは、これを使った際の手順書。
・Dropboxには「フォルダ共有機能」というのがあり、チームみんなで一つのフォルダを持てる。
・この共有フォルダにリポジトリを置けば、チームのみんながアクセスできちゃう。
・Dropboxはローカル環境からアクセスできるため、SSHの設定はしなくてもOK。


僕の個人的なオススメは、
・最初Dropbox → 慣れてきたらGitHub
パターンです。理由はありません。何となくです。


■GitとSubversion(おまけ)
・本題からは少し外れるメモ。
・バージョン管理ソフトとして有名なものに、GitとSubversionがあります。
・Gitは分散型、Subversionは集約型なんて呼ばれたりしますが、初心者にはカオスです。

簡単に説明すると、
Subversionではソースコードをコミットすると、いきなりチーム共有のリポジトリが変更されます。
Gitではソースへの変更をコミットすると、いったん自分のローカルのリポジトリ内でのみ変更されます。その後、プッシュ操作を行うことで初めてチーム共有のリポジトリが変更されます。

どちらが良いというわけではなく、好みかと思います。
僕はGit派。
理由としては、最近Gitがキテルらしいというミーハー精神と、ちょいちょいコミットしたい性分だからです。Subversionだとちょいちょいのコミットが他のメンバーに見られちゃうんで恥ずかしいですよね。



以上、バージョン管理ソフト使って爆速開発しようぜ!な記事でしたー。



2 件のコメント:

  1. Gitとクラウドの二刀流ってわけか。
    自分もドライビーってクラウドでやってみたけど固まってinitさえできないw

    返信削除
  2. Thanks for the post, In this complex environment business need to present there company data in meaningful way.So user easily understand it .Sqiar (http://www.sqiar.com/tableau-8-1/) which is in UK,provide services like Tableau and Data Warehousing etc .In these services sqiar experts convert company data into meaningful way.

    返信削除