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