はじめに
技術研修の基礎編を終えて、やっとサービスの一部に携われるようになりました。そこで、「今まで独学でプログラムの勉強をしてきたけど、まだチーム開発をしたことがない…」という方々に向けて、チーム開発をする上では欠かせない【Gitとは何ぞや】ということを、私なりにまとめさせて頂きます。
Gitとは
Git(ギット)は、プログラムのソースコードなどの変更履歴を記録・追跡するための分散型バージョン管理システムである。
チームで開発をする際に、どこの誰がどのような意図を持ってコードを変更したのかということがすごく大切です。【Git】を使うことで簡単にそれらの記録が行えます。
Gitの用語
リポジトリ
Gitは時系列でファイルの記録を整理できます。その管理するデータベースのことをリポジトリと言います。写真のアルバムみたいなものですかね!
画像:Section-9より
コミットとコミットメッセージ
リポジトリにファイルの変更内容を記録すること、その結果作られた記録のことをコミットといいます!アルバム(リポジトリ)の中にある写真みたいなものですね!
また、インスタなどで使われるハッシュタグのようにコミットメッセージをつけることで、どのような修正を行ったか詳細に記録に残すことができます。
画像:Instagram(インスタグラム)にパソコンから写真を投稿する方法より
ワークツリー
Gitによってコードやファイルの変更を監視されているフォルダのこと。
ワーキングディレクトリー、ワーキングコピー、作業コピーとも呼びます。
ステージング
コミットにはコミットメッセージにそぐわない無関係の変更を含むべきではありません。しかし作業によってはワーキングツリーに大量の変更が積まれる場合があります。その時にコミットに含めたい変更を選別することをいいます。
たくさん写真を撮ったけど、どれをインスタに投稿しようかな〜ってのと同じ感じですね!
ブランチとマージ
ブランチとは履歴の流れを分岐して記録していくためのものです。分離したブランチは他のブランチの影響を受けないため、同じリポジトリの中で複数の変更を同時に進めていくことができます!
画像:猿でもわかるGit入門より
逆にマージとは枝分かれした変更履歴を一つにまとめることをいいます!
画像:MARTECHTODAYより
コンフリクト
- 同じ箇所を
- 別々のブランチで
- 別々の変更をかけてしまったのに
- マージする
と起こってしまう「衝突」現象です。どっちの変更を受け入れればいいの?ってことですね!
こうなるとブランチのマージは一旦保留になり、ユーザが手動でコンフリクトを解消する必要があります。
次回予告
【Gitとは何ぞや】ということを簡単にですがご説明させて頂きました。次回は具体的なGitコマンドをまとめさせて頂きたいと思います。
*説明に不備やおかしな点がございましたらご指摘いただけると幸いです。
リファレンス
本当の初心者向け!Git入門のための概念から基本用語まで
git add ってなんのためにやるの? Gitの「ステージング」をイラストで解説します!
サルでもわかるGit入門〜バージョン管理を使いこなそう〜
コンフリクトって!?Gitバージョン管理でマージしたときに発生した衝突を解決する