Githubの基本的な使い方が理解できたのでまとめていこうと思います。
リポジトリとは
リポジトリとは「貯蔵庫」という意味で、過去のもの含め、一連のファイルが保存されている場所のことを言います。
よく聞くワードとしては「リモートリポジトリ」と「ローカルリポジトリ」という言葉ですが、これはどこの貯蔵庫を指しているかという話です。
リモートリポジトリとはネットワーク上にあるリポジトリで、ローカルリポジトリが自分のPCにあるリポジトリを指します。
複数人で作業するときは、共通の「リモートリポジトリ」が1つあり、ローカルリポジトリが人数分あるイメージになります。
フォークとは
フォークとは「分岐」という意味があります。
誰かのリポジトリを「分岐」して自分のリモートリポジトリに追加することをフォークと呼びます。
通常、誰かのリポジトリをそのまま操作することはなく、リモートリポジトリにフォークして、操作していきます。
クローンとは
クローンとは、自分のローカルリポジトリにリモートリポジトリのデータをコピーしてくることを言います。
リモートリポジトリとローカルリポジトリは一緒に動くことが求められる(貢献することが求められる)ので、フォークではなく「クローン」という言い方になります。
フォークしてきた誰かのリポジトリをクローンすることで、ローカルリポジトリでファイルを操作することが可能になります。
コミットとは
コミットとは、開発の中で新しいバージョンを作成することをいいます。
開発では連続して新しいコードを書いていくわけですが、その中のきりが良いところで新しいバージョンとしてコミットしておくと、
新しいバージョンができ、例えばそこに戻ってコードを書いたり差分を比べたりすることができるようになります。
コミットは保存しただけでは行われず、一度「ステージングエリア」に上げた後、コミットメッセージと一緒にコミットすることで行うことができます。
ブランチとは
ブランチとは、作っているメインの開発から「枝分かれ」を作って、コミットを作ることをいいます。
デバッグや新規機能の開発など、メインのブランチ(masterブランチ)から離れたところで作業する必要がある場合にブランチを作成します。
マージとは
マージとは、作ったブランチを他のブランチに統合することを言います。
開発として先に勧めていくブランチの場合は、マージしていくことになります。
プッシュとは
プッシュとは、ローカルで作成したデータをリモートリポジトリにだしていく事を言います。
プッシュすることで、オンライン上に自分の変更をアップロードすることができます。
しかし、それを勝手にしていると、みんなが書いた好き勝手なコードがリモートリポジトリに並ぶことになります。
それを防ぐために、プルリクエストがあります。
プルとは
プルとは、リモートリポジトリの変更をローカルに反映させることを言います。
ローカルの開発環境は、リモートと同じでなければなりません(クローン)。
そのため、プッシュする際、もし最新版がリモートリポジトリに上がっていれば、一度プルしてから、プッシュすることとなります。
プルリクエストとは
プルリクエストとは、プッシュする前に第三者の承認を挟むことを言います。
「プル」してもらうためのリクエストなので、プルリクエストです。
また一つ学びました。