アプリ開発現場では、必ずと行ってよいほどGitなどのバージョン管理システムを使うのが一般的です。
Gitがないとどんな苦労が発生するのか、あるとどんなメリットがあるの解説していきます。
Gitなどのバージョン管理システムがない場合
開発現場では、必ずと行ってよいほどGitなどのバージョン管理システムを使うのが一般的です。
しかし、Gitがない状態で、複数人で開発を進めると以下のようなデメリットがあり悲惨なことになります。
Gitを使わない開発のデメリット
・苦労して作ったのに、他の人がファイルを上書きしてしまい、作ったところが無駄になってしまった。
・バージョンを管理するため、ファイル名に日付を含めるなどして対応していた。その結果、同じ内容のファイルが複数できて管理が大変だった。
・メンバー同士で声を掛け合ってファイルを保存していたので、その分の時間が無駄。
・誰がどのファイルを編集しているのかわからない
複数人で一つのシステム(アプリ)を作るのに大変苦労しました。
そんな大変を思いしているときに、先輩社員から「なんでバージョン管理システムをつかわないの?」といわれました。その一言が、バージョン管理システムを知るきっかけになったのです。
Gitを使わないメリットは、Gitを導入するための時間がないことくらいでしょう。
Gitがあることの恩恵
Gitは、バージョン管理システムです。
Gitの操作は主に、機能を追加したり、修正したりするとコミットします。コミットするとログに残せるため、どんな修正をしたのかわかるため、複数人でソースコードを編集する場合に非常に役立ちます。もし、2人以上が1つのファイルをイジっていても「競合」が発生するようになっていて、だれがどこをイジったのかわかるようになっています。
またGitには、バックアップの側面もあり1台のパソコンが壊れてしまっても、他のパソコンが生きていれば(gitがインストールされていて、プロジェクトをインポートしている場合)、復帰できます。
過去に、オフィスが雨漏りによりパソコンが壊れてしまったことがありました。しかし、リモート上にもgitのプロジェクトがあったため復旧できたのです。
アプリ開発でGitは必須のスキル
アプリ開発は、チームで進めることが一般的です。苦労して作ったソースコードが、操作ミスで消えてしまうことがないようにGitなどのバージョン管理システムを使うことがほとんどです。
Gitはいきなり使いこなすのが難しく、まずは、基本的な操作から覚えていくことになります。
基本的な操作:
・他人が作ったものを自分のPCに反映させるpull
・自分が作ったものを他のメンバーにも共有するpush(実際は、リモートに反映させるというのが正しい)
・リモート上にあるプロジェクトファイル一式を取得するclone
ブランチを分ける、マージする、rebaseで履歴情報を書き換えるなどの操作になってくると初心者には難しくなってきます。独学で学ぶのは時間がかかってしまいます。
クチコミ情報になりますが、プログラミングスキルを学べるWebCampでは、Ruby,Railsなどのプログラミング言語以外にもGitの操作を学ぶことができます。早く習得したいのであれば、プログラミングを学べるところに行く方法もあります。
まとめ
Gitなどのバージョン管理がない状態でアプリ開発を進めると、せっかく作ったプログラムが操作ミスにより無駄になることが多々あります。Gitは、アプリ開発では必須のスキルです。このスキルが無いと、アプリ開発のどのプロジェクトに参加することができません。
まずは、pull,push,clone,などの基本的な操作から覚えましょうという話でした。