Git
今日はみんながGitHubを使って意図せぬパラレルワールドを作っていたので、今後確実に使っていくツールなので少し整理していこうと思います・・・!!
まずは・・・
Git
です!!!
Wikipediaから引用すると
Git(ギット[2][3][4])は、プログラムのソースコードなどの変更履歴を記録・追跡するための分散型バージョン管理システムである。
とのことです。
イメージはつきそうで具体的には話せなさそうな・・・😅
まずバージョン管理システムを整理します。
バージョン管理システム
様々なファイルは段階を経て作られていきます。
その工程をや過程を管理するシステムです。
そうすることによって誰がいつどこで変更したのかが管理(わかる)ようになります!!
メリットは・・・
データが上書きされたり、データのバッティング(コンフリクト)を回避できます。
そしてその内容を
リモートリポジトリとローカルリポジトリ
にて管理されます。
言葉のまんまですが、リモートリポジトリはサーバー上にあります。ローカルリポジトリは今使用しているPCになります。
そしてこの2つのリポジトリに分けて管理する事を分散型と言うそうです。
分散させることによってリモートでもローカルでもバックアップが取れるメリットもあるそうです!!
そしてGitがここまで浸透した理由の一つに「Linux」の開発者がソースコードを管理するために作ったのもあるそうです。ちなにみ今は日本人のエンジニアがメンテナー(保守管理者)をしているそうです。
ちなみに
リポジトリ=保管場所
です。
そして・・・
GitHub
はGitを軸にした開発の時に使用するアプリケーションです!!
先程のローカルリポジトリをネットで通じて管理していきます。
その中で確実にでてくるのは・・・
brunch
です!!
枝と言う意味の言葉で、枝を増やしていくことによって同時進行で複数の人がデータを更新していけます!!
この時にmasterbrunchとcurrentbrunchを理解してpullやcommitをしていないとすごく簡単にパラレルワールドができあがってしまいます・・・。
明日は意図的にパラレルワールドをつくってもう少し情報収集してみよう・・・
マイグレーションファイルが神隠しするとなかなか焦るし、場合によっては今までしてきた工程をもう一度するはめになるので・・・
ちゃんと整理しておかないと!!