#8 リモートリポジトリを作成し、プッシュする。

次に、リモートリポジトリを作成し、ローカルリポジトリにコミットした内容をプッシュします。
リモートリポジトリを作成しプッシュすることによって、自身の作業内容を他人と共有する事が出来るようになります。

ここで、以前作成した「GitHubギットハブ」を使用します。
「Git」の「Hub = 中心、拠点」という意味があり、Gitの仕組みを利用して世界中の人が各々のソースコードやアプリケーション等を共有できるようにしたWebサービスです。
アカウント登録すれば自身でリモートリポジトリを作成したりする事が可能になります。

早速、GitHub上でリモートリポジトリを作成しましょう。


リモートリポジトリの作成
①登録したメールアドレス宛に、GitHubからメールが送られてきているので、その本文中のリンクをクリックする。

②リモートリポジトリ画面へ遷移するので、必要事項を記入する。
  1. リモートリポジトリの名称を設定します。ローカルリポジトリと同じ「CBC_Git」と記載して下さい。
  2. 「Public」と「Private」の内どちらかを選択できるようになっていますが、ここは「Private」を選択して下さい。
※Publicにするとリモートリポジトリの内容が全世界全てのユーザーに公開されてしまいます。

上記二点の設定が済んだら、「Create repository」ボタンをクリックする。


ローカルリポジトリとリモートリポジトリを紐付ける
①sourcetreeの「CBC_Git」リポジトリ操作画面右上「設定」項目をクリックする。

②「リモート」タブに切り替え、「追加」ボタンをクリックする。

③必須事項を記入し、OKボタンをクリックする。
「リモートの名称」はoriginと記載して下さい。
「URL/パス」項目は、先ほどのGitHub画面から取得できます。

リモートリポジトリのURLをコピーし、「URL/パス」欄に貼り付けて下さい。
他の記載箇所には触れずに、「OK」ボタンをクリックして下さい。

④リモートリポジトリの追加が確認できたら、「OK」ボタンをクリックする。

⑤sourcetree操作画面左側バーの項目「リモート」に「origin」が追加されていれば、ローカルリポジトリとリモートリポジトリの紐付け完了。
これでプッシュする準備が整いました。


リモートリポジトリへプッシュする
①sourcetree操作画面上部にある「プル」ボタンをクリックする。

②プッシュ先が「origin」であることを確認した上で、プッシュするブランチに「master」を選択し、OKボタンをクリックする。

③履歴表示に「origin/master」が追加されていれば、プッシュ完了。

ローカルリポジトリでコミットした変更を、リモートリポジトリへプッシュすることができました。
先ほどリモートリポジトリの作成に使用したGitHubの画面も見てみましょう。プッシュされた履歴が反映されているはずです。

#9 リポジトリをクローンする。

ここまでの講義で、リポジトリへのコミットや、コミットされた内容をリモートリポジトリへプッシュするところまで見てきました。
今度は、リモートリポジトリに共有されている内容を自端末に取得する方法を見ていきます。

まずはリモートリポジトリを各々の端末へ「クローン」してみましょう。
clone = 分岐系、複製というような意味の通り、リモートリポジトリをそのままローカルリポジトリへ複製するときに実施する作業です。


①GitHubのリポジトリ画面から、「clone or download」ボタンをクリックし、リモートリポジトリのURLをコピーする。

②sourcetreeのリポジトリ選択画面から、「URLからクローン」でリポジトリをクローンする。
  1. 「ソースURL」には、GitHubリポジトリ画面からコピーしてきたURLを貼り付けて下さい。
  2. 保存先のパスは任意指定できます。CBC_Gitディレクトリを作成したstgフォルダ配下に、新しく「CBC_Git2」ディレクトリが作成されるようにパスを指定しましょう。
  3. リポジトリの名称は「CBC_Git2」で設定しましょう。(保存先のパスがちゃんと指定できていれば、自動的にCBC_Git2という名称になるはずです。)
全て設定を終えたら、「クローン」ボタンをクリックして下さい。
※リモートリポジトリへ接続するために、GitHubのIDとパスワードの入力を求められるかもしれませんが、登録した時のものを入力すれば問題ありません。

③クローンが完了し、CBC_Git2というローカルリポジトリが作成されます。

#10 新しいブランチを作成する。

Gitには、並行して行われる複数の機能追加やバージョン管理を支援するため、「ブランチ」という機能が備わっています。
自身の行っている作業が、他の作業者の改修や機能追加の影響を受けないようにするために、自分専用の作業スペースを設ける事が出来る、と考えればイメージしやすいかと思います。

早速ブランチを作成し、study.txtの内容を一部変更して、プッシュするところまで行ってみましょう。


※CBC_Git2リポジトリで作業して下さい!
①masterブランチを起点に、新しいブランチを作成する。
実は、皆さんは既にブランチに触れています。
ローカルリポジトリが作成されるのと同時に、必ず作成される「master」ブランチです。
リポジトリ上で変更作業を行う場合、その作業スペースは必ずブランチ単位で区切られる事になります。
ブランチ単位で作業スペースを区切る事によって、他の作業者の変更内容の影響を気にせず作業することが出来るからです。
リポジトリ作成時には必ずmasterブランチが作成され、作業者達はそこを起点として、自身の作業用ブランチを作成していきます。

リポジトリ操作画面上部の「ブランチ」ボタンをクリックして、ブランチ作成ウィンドウを開きましょう。

「新規ブランチ」欄に「study」と記載し、「ブランチを作成」ボタンをクリックしましょう。
上図のように表示されていれば、studyという名称の新たなブランチが作成できています。

※補足:ブランチの「チェックアウト
自身の作業するブランチを選択することを、「チェックアウト」と呼びます。
上図左側の「ブランチ」配下に「master」ブランチと作成した「study」ブランチが並んでいますが、「study」ブランチの方が太文字で、左側に丸印がついていると思います。
この表示が、今チェックアウトしているブランチを示しています。


③study.txtを少し編集し、コミット&プッシュする
下図の様にテキストを変更する。

コミットを実施する。

コミットをリモートリポジトリへプッシュする。
※プッシュするブランチは、必ずstudyブランチを選択して下さい。

プッシュまで完了したら、sourcetreeリポジトリ操作画面で履歴をチェック
studyブランチとorigin/studyブランチが、masterブランチよりも一段上の位置に来ました。
masterブランチを起点に作成されたstudyブランチが、今回studyブランチ上でさらに更新された為、図の様な履歴表示になっています。

イメージしづらいという方は、masterブランチとstudyブランチのstudy.txtを比べてみるとわかりやすいかと思います。
[masterブランチ]

[studyブランチ]
studyブランチ上のstudy.txtは当然、先ほどコミットした変更内容が反映されていますが、
masterブランチ上のstudy.txtは作成した当初のままのバージョンになっています。
コピーしました
RSS https://cbc-study.com/rss.xml
質問などあればSlackで