Because We Love Happy Coding

フリーライターからエンジニア × 講師。発信力だけあり余ってる感じ

世界一わかりやすい?gitの概念的説明

今日もまたコーディング。だって僕らはHappy Codingが大好きだから。

commit

あなたのソースコードの現状を手元のパソコンの中にセーブします。

push

あなたのセーブデータをgitサーバー(だいたいoriginという名前で呼ばれる)に送ります

チェックアウト

セーブデータをロードします。手元のパソコンからロードすることも、gitサーバー(origin)からロードすることもできます。

ブランチ

「あのとき、ReactじゃなくてVue.jsを選んでいたら運命は違っていたかも……」という歴史改変を可能にする技です。
あるコミット(過去または現在のソースコード)を起点に、やり直しが可能です。

結婚イベントの前でセーブしておいて(ここでコミット&ブランチ)、フローラと結婚する歴史(ブランチ=セーブデータ群)とビアンカと結婚する歴史(ブランチ=セーブデータ群)を両方楽しめちゃう、みたいなことです。

マージ

異なるコミット(ソースコード群)を比較して、いいとこ取りする技です。
共通部分をベースに、追加されたコードを足していきます。
両方のセーブデータで更新されている部分がカブった(コンフリクト)場合は、手動で見比べて「解決(どっちを生かすか決める)」します。

つまり、フローラと結婚したブランチをビアンカと結婚したブランチにマージしようとすると、どちらか一方としか結婚できないのでコンフリクトが発生し「どちらか選ばないと統合はできません(つじつまが合わなくなる)」ということになります。

プルリク

他のブランチに対して「自分のセーブデータをマージしてくれない?」とお願いすることです。
製品リリースするために追加した修正を反映する、とか、複数のブランチで並行開発していたソースコードを統合してまとめる、などに使われます。

お願いされた方は提供されたコミットを吟味して「いいよ」か「修正をしてくれるまでマージしないよ!」か「マージしないよ!」とか決めることができます。