【Git】と【GitHub】を超初心者でも分かり易く解説します。
【Git】と【GitHub】の概念は少し分かりづらく、自分も理解に苦しんだので少しでも分かり易くと思って自分の保存用にもコチラで解説したいと思います。
まず、プログラマーなら必ずと言っていいほど使用している【Git】から。
【Git】とは??
プログラムのソースコードなどの変更履歴を記録、追跡する為の分散型バージョン管理システムの事。
- いつ
- 誰が
- どのファイルに対して
- どのような変更を行ったか
と言う履歴を記録しておく為のツール。
いつでも、どのような変更を行ったか容易に振り返る事が出来ます。
ゲームで言う、セーブポイントみたいな・・好きな所にいくつかセーブして、いつでもセーブした場所に戻ってやり直せるって事です。
では、なぜ【Git】として記録・管理する必要があるのか??
例として、何人かでブログなどの運営をしている場合、ソースコードの変更や機能の追加などをAさんが行ったとします。
同じく、Bさんもソースコードの変更や機能の追加などをしていると、先に変更を行ったファイルの上書きをしてしまう事になってしまいます。
しかし、【Git】で管理する事によって、Aさん、Bさんのそれぞれの変更履歴を残す事が出来、競合が発生していると教えてくれるので、上書きなどのトラブルを防ぐ事が出来ます。
もし、バグなど出た場合なども変更履歴を確認して、いつの、誰が、どのファイルに対して、どのような変更を行った作業が原因でバグが起きたと特定する事が出来るという事です。
他にも、それぞれ違う機能の実装を複数人で同時進行(共同開発)する事が出来ます。
同じく、Bさんもソースコードの変更や機能の追加などをしていると、先に変更を行ったファイルの上書きをしてしまう事になってしまいます。
しかし、【Git】で管理する事によって、Aさん、Bさんのそれぞれの変更履歴を残す事が出来、競合が発生していると教えてくれるので、上書きなどのトラブルを防ぐ事が出来ます。
もし、バグなど出た場合なども変更履歴を確認して、いつの、誰が、どのファイルに対して、どのような変更を行った作業が原因でバグが起きたと特定する事が出来るという事です。
他にも、それぞれ違う機能の実装を複数人で同時進行(共同開発)する事が出来ます。
【Git】の構成
- ⇑⇑上記図参照
- 【Git】
- インデックス(PCサイドで作成したファイルなど。)
- ⬇⬇コミット(修正内容をローカルリポジトリに反映する事)
- ローカルリポジトリ(データを保存する場所。Gitでは、このリポジトリ単位でデータを管理する。修正履歴も保存されている。)
⇑⇑上記図のピンクで囲われている部分を【Git】
【Git】では、リポジトリ(保管庫)と言う場所で管理します。
リポジトリは、通常プロジェクトの単位(システムの単位)になります。
【Git】では、1つのファイルにつき、1つのリポジトリと言われる入れ物を作って、その中で作業していく事になります。
ローカルリポジトリとは、個人で作業を行っている端末でのリポジトリ(保管庫)。
リポジトリは、通常プロジェクトの単位(システムの単位)になります。
【Git】では、1つのファイルにつき、1つのリポジトリと言われる入れ物を作って、その中で作業していく事になります。
ローカルリポジトリとは、個人で作業を行っている端末でのリポジトリ(保管庫)。
- ローカルリポジトリ
- ⬇⬇プッシュ(ローカルリポジトリの修正内容をリモートリポジトリに反映すること。)
- リモートリポジトリ(サーバにあるリポジトリ。サーバに保存され、共有される。)
【Git】を使って複数人で共同開発をする場合は、【Git】が用意しているサーバーに対してアップロードや、ダウンロードを行う事でファイルの共有を行う。
ローカルリポジトリからリモートリポジトリへプッシュを行い共有できる場所が【GitHub】(リモートサーバーの中身をWebブラウザで見る為のツール)。
ローカルリポジトリからリモートリポジトリへプッシュを行い共有できる場所が【GitHub】(リモートサーバーの中身をWebブラウザで見る為のツール)。
【GitHub】とは??
【Git】のソースコードを共有する為に、リモートリポジトリへプッシュを行ったサーバーの中身をWebブラウザ上で閲覧できるようにしたツール。
GitHubのようなサービスは、他にも複数あります。
【GitHub】/【Bitbucket】
GitHubのようなサービスは、他にも複数あります。
【GitHub】/【Bitbucket】
【GitHub】の機能
【GitHub】は機能も豊富なので最初はわかりづらいかもしれませんので、簡単に紹介します。
クラウド上で【Git】の”リモートリポジトリ”を提供する事により、遠く離れた開発者同士でも、【GitHub】を介して効率よく開発を進められるようになりました。
【Git】のハブ(Hub)の役割です。
【GitHub】には無料と有料の2つのプランがあります。
無料プランでも十分に使用する事が出来ます。
クラウドにアップされたソースコードを【GitHub】の利用者に公開するか、プライベートに使用するか選ぶ事も出来、オープンなプロジェクトであれば、自分のソースコードについて他の技術者に助言をもらったり、また逆に他の技術者を助けたりも出来ます。
技術力があれば自分の名前を売る事も出来ます。
ソースコードを介して世界と繋がる事が出来る【GitHub】の魅力でもあります。
クラウド上で【Git】の”リモートリポジトリ”を提供する事により、遠く離れた開発者同士でも、【GitHub】を介して効率よく開発を進められるようになりました。
【Git】のハブ(Hub)の役割です。
【GitHub】には無料と有料の2つのプランがあります。
無料プランでも十分に使用する事が出来ます。
クラウドにアップされたソースコードを【GitHub】の利用者に公開するか、プライベートに使用するか選ぶ事も出来、オープンなプロジェクトであれば、自分のソースコードについて他の技術者に助言をもらったり、また逆に他の技術者を助けたりも出来ます。
技術力があれば自分の名前を売る事も出来ます。
ソースコードを介して世界と繋がる事が出来る【GitHub】の魅力でもあります。
一連の流れのまとめ
- リポジトリを作成
- ソースコードの作成や編集
- 【Git】のインデックスに追加
- インデックスに追加された内容をリモートリポジトリにコミット
- ローカルリポジトリの内容をリモートリポジトリ(GitHub・Bitbucket・Backlogなど…)にプッシュ
まとめ
【Git】+【GitHub】は何か、分かって頂けたら幸いです。
実際、コマンドラインを使用して学ぶのですが、最近は簡単に使用できるようにソフトがいくつかありますので、そちらの方で次回解説をしていこうと思ってます。
なので、【Git】+【GitHub】の実践編はまた次回に!(^^)!
◆◇◆サイト内検索を便利使ってもらって色々検索してみて下さい♪◆◇◆
文字に囲み枠を付けるHTMLタグをコピペ用に保存版にしました♪
文字装飾で良く使う囲み枠を付けるHTMLタグを、コピペで使えるように保存版として記載しました。
YouTubeやTwitterの埋め込みを中央寄せにする方法
WordPressを使用していて、YouTubeやTwitterの画像が中央配置されない事があったので、自分が解決に至った詳細を記載しました♪
WordPressで記事編集時に保存されるリビジョンの削除方法
記事をこまめに保存しながら作成していると、かなりのキャッシュが溜まっている事に気が付き、【WP-Optimize】と言うプラグインで簡単に解決した方法をご紹介してます。
『アラフィフの奮闘記』『猫との暮らし』『本、映画、音楽etc…』『サイト作成に必要なお勉強』