GitHubシリーズの続きです。前回、ブラウザ上だけでリポジトリを作ってWebページを作成しました。今回はローカル環境(SourceTree)にリポジトリをクローン(複製)し、そこで行ったコミット(更新)をGitHubにプッシュ(反映)します。さらにGitHubの静的サイト公開サービス「GitHub Pages」にも同期させます。それではまいりまShow!!
【目次】
※参考:前回記事
ブラウザ上だけでお手軽GitHub体験(リポジトリの作成と変更) - クモのようにコツコツと
Sourcetreeのインストール
ローカル環境とGitHubを連携するにはCUIとGUIの2つの方法があります。
- CUI:コマンドライン(黒い画面)
- GUI:Sourcetree など
どちらでトライしたか悩んだのですが、のちのち黒い画面に移行するにしても比較対象としてGUI操作を知っているのは意味があると思い、まずはSourcetreeから始めます。GUIのため今の状態や操作対象がわかり、入りやすいと思われる。
※参考:Sourcetree | Free Git GUI for Mac and Windows
インストールの手順(Mac)
※参考:SourceTree for Mac インストールから初期設定の手順 | ブログ | Glatch(グラッチ) - 夫婦で活動するフリーランスWeb制作ユニット
ただし、私の環境では「Atlassian」ではなく「Bitbucket」(Sourcetreeの会社が運営するGit)のアカウントを作れ、と言われたんですよねー(?)
※参考:Bitbucket登録からSourcetree連携まで(MacOS向け) - Qiita
GitHubリポジトリとの連携
こちらの記事がシンプルでわかりやすく、概ねこの流れでやりたいことが実現できました!
※参考:【カンタン解説】Github と Sourcetreeを連携してGitを理解する - Qiita
下記の手順になります。
- GitHub:新規リポジトリ作成
- GitHub:リポジトリ「Clone with HTTPS」のURLをコピーする
- Sourcetree:「リモート」>「+新規リポジジトリ」>「URLからクローン」
- Sourcetree:リポジトリを作成したいディレクトリを指定する
これでGitHubのリポジトリがローカル環境の指定した場所にクローン(複製)されます。
ファイルはリードミーのファイル
README.md
しかありません。
今回、私が行いたいのは以前(2014年)作ったポートフォリオサイトのGitHub Pagesへの移転です。
※参考:イイダリョウ ポートフォリオ
http://idr.mond.jp/i-ryo/ *1
こちらがFTPソフトからダウンロードしたファイル一式です。
一方、先ほどGitHubからクローンしたフォルダにポートフォリオのファイルも追加します。
Sourcetreeのコミット(更新)アイコンをクリックしコミットの説明文を入れるとファイルが追加されます。
そしてSourcetreeのプッシュ(反映)アイコンをクリックすると…
GitHub本体にローカル環境のコミットが反映されます!!
ちなみにSourcetreeの「プッシュ」の隣にあった「プル」はGitHub本体上のコミット(更新)をローカル環境に反映させます。これで複数のローカル環境での作業や複数人の共同作業における差分(バージョン)管理ができるわけです!
GitHub Pagesとの連携
次に、GitHubの静的サイト公開サービス「GitHub Pages」にこのサイトを公開したい。
こちらの記事がとてもわかりやすかったです!(昔はもっと大変だったんですかね?)
※参考:GitHub Pages を使った静的サイトの公開方法が、とても簡単になっていた | Tips Note by TAM
下記の手順になります。
- GitHub:「Settings」>「GitHub Pages」>「Source」で「
master branch*2 main」を選択 - GitHub Pages:所定のURLにアクセス
URLは https://ユーザまたは組織名.github.io/リポジトリ名 となります。
私のページの例でいうとこのようなURLになります。
https://ryo-i.github.io/i-ryo_portfolio
※参考:https://ryo-i.github.io/i-ryo_portfolio*3
表示されました!!
2020/09/15追加
ポートフォリオ再公開しました。URLは下記に変わりました。
GitHub Pagesとローカル環境をシームレスに同期する!
最後に、GitHub Pagesとローカル環境が同期していることを感じ取るために、ページの一部を更新してみましょう!
仕込みネタというわけではありませんがw、たまたまテキストに誤記を発見したのでそこを修正してみます。
こちらのモーダル上の説明テキスト「2013年」は「2014年」が正解です。
ローカル上のhtmlファイルを修正します。
ファイルを保存するとSourcetreeの画面が下記のように変わります。
- 左上の「コミット」アイコンに「1」という印がつきます。(変更あり)
- 「Uncommitted changes」 はコミットしていない変更がありますという意味
- 右下にはindex.htmlの変更内容が。赤が変更前、緑が変更後です。
「コミット」アイコンをクリックするとコメント欄が表示されるので変更内容を入力し左下の「コミット」をクリック。
今度は「プッシュ」アイコンに「1」と印がつきます。
「プッシュ」アイコンをクリックするとウィンドウが立ち上がります。
- プッシュ先のリポジトリのURLを確認
- ブランチ(分岐)名確認(今回は本流なので「master」から「maseter」へ)
- 問題なければ右下の「OK」をクリック
GitHub本体にコミット(更新)がプッシュ(反映)されます。完了すると「プッシュ」アイコンの「1」は消えます。
GitHub本体のリポジトリをリロードすると…
なんということでしょう!コミットがプッシュされました!
そしてそして、GitHub Pagesのページもリロードすると…
やた!!こちらにもGitHubへのプッシュが反映されています!
最後に
ということで、SourceTreeとGitHubとGitHub Pagesの連携が成功しました。と、同時にポートフォリオのお引越しもね。
ローカルのHTMLを修正してFTPソフトでファイルをアップロード、と比べるとGitは修正内容が一目瞭然なのがわかりやすいですね!また、複数環境や複数人での作業にも、プルで同期したり差分をコミットするとメリットを感じそうです。
次回は「ブランチ」や「プレリクエスト」など分岐作業をやってみたく思います(一人作業だとあまり意味ないかもだけどw)。それではまた!
※参考:Web開発環境の記事まとめ
qiita.com
*1:以前は独自ドメイン http://i-ryo.com でしたが12/30ロリポップドメインに変更しました
*2:2020/11/15現在の新規リポジトリはmasterではなくmainがメインのブランチ
*3:現在は非公開