<問題提起>
GitというものとGitHubって出てきたけど
【Git(ギット)】と【GitHub(ギットハブ)】て同じなの?
<結論>
「Git(ギット)」と「GitHub(ギットハブ)」ですが、この2つは同じものではありません。
「Gitを使ってエンジニアを支援するWebサービスがGitHub」です。
そのため、まずはGitが何かについてからご紹介をしたいと思います。
※GitとGitHubの違い
・Gitとは
・Githubとは
・実際の開発の流れ参考
・初心者向けおすすめサイト
Gitとは、Githubとは、実際の開発の流れ参考については
以下サイトを引用,抜粋してまとめています。
https://www.i3design.jp/in-pocket/3111
■Gitとは
□【Git】
「ソースコードの保存した履歴を管理するツール」の名前です。
システム開発では複数の開発者によってソースコードが書き換わります。
・いつ誰がどこを変えたのか?
・最新の保存履歴はどれか?
など、ソースコードの履歴を把握する必要があります。
この履歴を管理をするツールの1つが「Git」です。
Gitに
1、何を足したのか
2、どこを削除したのか
3、どんな手を加えたのか
見ていてもらいたいリポジトリ(これから作業する今自分のいる場所)で、
git initをすると、Gitさんが呼び出せてGitコマンドが使えるようになります。
これを忘れてしまうと、後で大変な目にあいます。
git initについてはこちらを参考にしました。
https://qiita.com/rild/items/46ec3b2e4a99bd5cc3b0
■Githubとは
□【Git hub】
「Gitを利用した、開発者を支援するWebサービス」です。
GitHubは、クラウド上でGitを用いたバージョン管理をすることができ、さらにGitには無い、開発者に便利な機能を追加しています。
Gitはツールの名前で、GitHubはWebサービスの名前。この2つの関係は「メールとGmail」の関係に似ています。Gmailはメールを利用するためのWebサービスですし、メールのWebサービスはGmail以外にもYahoo!メールなどがありますよね。
■実際の開発の流れ
□ソースコードの基本的な流れの説明
1.リポジトリを作成する
2.ソースコードの作成、編集を行う
3.新規作成、変更、削除をGitのインデックスに追加する
4.インデックスに追加された内容をローカルリポジトリにコミットする。
5.ローカルリポジトリの内容をリモートリポジトリ(GitHub)にプッシュする
2.で登場する「インデックス」は、ローカルリポジトリにコミットする前に一時的に変更内容を保存しておく場所です。ファイルを編集し、最終的にGitHubに変更が反映されるまでにはインデックス→ローカルリポジトリ→リモートリポジトリ(GitHub)という3段階を踏むようになっています。
また、ローカルリポジトリに変更内容をアップすることを「コミット」、リモートリポジトリに変更内容をアップをすることを「プッシュ」と呼びます。逆に、他の開発者がリモートリポジトリに追加した内容をローカルリポジトリに反映させる操作は「プル」と呼ばれます。
こうして複数の開発者がリモートリポジトリに最新の状態をプッシュしていき、ソースコードのバージョン管理を行います。
■初心者向けおすすめサイト
もっと知りたい!という方は、こちらのサイトも見てみてくださいね。
・Git
わかりやすいGit入門です。まずはここから。
http://www.backlog.jp/git-guide/
概念を「写真・カメラ・アルバム」などに例えて解説
http://liginc.co.jp/246190
・GitHub
チーム開発について連載されています。
https://seleck.cc/note/seleck_howto/article/30
GUIツールを使ったGitHubの使い方が解説
http://liginc.co.jp/248093
GitHubは機能も豊富なので最初は分かりづらいかもしれませんが、これを使いこなせるかどうかでキャリアに凄い影響があるかも?!って言われると使わざるを得ないでしょう
ぜひ一度、実際に試してみてくださいね。