なぜ今更Gitを勉強しようと思ったか?
基本複数人で作業する仕事は受けないというか、1人でやらないと気が済まない性格でこの仕事を続けてきたので、Gitなどバージョン管理システムのお世話になることはなかったのですが、年齢的に誰かに手伝ってもらわないとしんどいなあ、、って思うようになってきました。
今まで何度もバックアップ取るのをサボって痛い目にはあってきましたので、常に小まめにバックアップを取りながら作業はしていますので、現状特に困っているということはないんですが、やはりGitなどバージョン管理システムを使うことで、たとえ一人の作業であっても、誤って削除してしまったファイルの復元なども容易なことから、こういったシステムの恩恵を受けようという思いもあります。
何分、WEBシステムの開発も未だにFWを使わないスタイル(FWの恩恵を受ける程の規模ではない)で、旧来の開発スタイルでやっていたのもあったので、あまり必要性を感じなかったというのもありましたが、やはり便利なものは使っていった方が楽という思いがここに来て強くなった為、ちょっと勉強してみようかなっと思った次第です。
何をベースに勉強するか?
最近は動画で便用出来るサービスが増えていますよね。私もLaravelの勉強は、Udemyを使っていますが、私はどちらかと言うと活字の方が頭に入ってくるので、下記の参考書をベースに勉強してみようと思います。
私のようにGit初心者には分かりやすい言葉で、とっかかりやすい内容となっています。それ程奥深くはないですが、まずはどんなものか試したいという場合はおススメな内容です。
まずは言葉を覚えておこう
Gitを使う上でよく出てくる言葉を整理しておきます。
- リポジトリ
-
Gitがバージョン管理化に置く場所を「リポジトリ」と呼び、リポジトリには「ローカルリポジトリ」と「リモートリポジトリ」の2種類があるが、いずれもリポジトリをはGitが管理する場所。
- コミット
-
ユーザー(利用者)が変更の履歴を記録作業を「コミット」と呼び、コミットは時系列の繋がりを持っており、順々に記録されるので、コミットを過去にさかのぼることができ、ファイルをコミットの単位で戻すことができる。
コミットには、必ず「コミットメッセージ」というコメントをつける必要があり、だれが見ても分かるように、自分が時間が経ってから見ても分かるようにコミットメッセージをつけることで、履歴が分かりやすくなります。
※ Gitを利用した作業は「修正→コミット」の繰り返しで、ユーザーはコミットメッセージを参考に、コミット時のファイルの状態を確認します。
- ブランチ
-
履歴を枝分かれさせて記録する機能を「ブランチ」といい、例えばメインの開発をマスターブランチとし、それとは別にサブ的な機能をつけて開発を進めることができる。ブランチはいくつでも作ることが可能で、ブランチによって枝分かれした履歴は、他のブランチの影響を受けず、ブランチごとに開発を進めることができる。
- マージ
-
枝割れしたブランチ同士を結合する機能を「マージ」といい、元となるブランチから作業のブランチに枝分かれし、作業完了後は元のブランチにマージして、ひとつにまとめることが可能。
- 分散型と集中型
-
バージョン管理システムには、集中型と分散型があり、Gitは分散型バージョン管理システムです。
分散型であるGitは、それぞれの端末ごとにローカルのリポジトリが作成され、複数のリポジトリが作成されることから、分散型と呼ばれます。
自分の端末に作成したローカルリポジトリには、いつでもコミット(変更の登録)が可能なので、リモートリポジトリにプッシュ(変更を登録)したり、リモートリポジトリからプル(情報を取得)したりする作業を除けば、オフラインでも作業が可能です。
ほかにも複数のリポジトリが作成されますので、どこかのリポジトリが破損しても、復旧は比較的容易に可能です。
ローカルリポジトリとリモートリポジトリ
先述しましたが、Gitにてバージョン管理を行う場所として指定した場所をリポジトリという。個人で一台のパソコンにて開発、バージョン管理を行う場合、リポジトリは自身のパソコンにあれば問題ないですが、リポジトリを利用して、どこからでも利用したい場合は、リポジトリをサーバーに用意してネットを介することで可能です。また複数人などチームで一つのリポジトリを利用して開発したい場合なども同様で、サーバーにリポジトリを置きます。
このようなリポジトリのことを「リモートリポジトリ」といい、自分のパソコンに置くだけのリポジトリを「ローカルリポジトリ」といいます。
※ 複数人で作業する場合、一般的にはリモートリポジトリのクローンを各々のパソコンに作成して、ローカルリポジトリとして作業を進めていきます。作業完了後に、変更をリモートリポジトリに反映(プッシュ)します。
コメント