Cloud9とGitHubを連携させる
2020年06月30日 プログラミングTIPS
前回の「CentOS 8 に Amazon AWS Cloud9 をインストール」からの続きです。
Amazon AWS以外のサーバーにインストールするタイプのCloud9を利用する場合、ある機能が使えません。ファイルの変更履歴です。Cloud9により、どのマシンからでも同一の開発環境は得られますが、「ファイルを間違って消しちゃった!」、「ソースコードいじってたらおかしくなっちゃった!元に戻したい!」などの事態が起きた場合に、クラウドにしかファイルがないと困ります。クラウド環境で開発していると、ローカルにファイルを置かないため、クラウドで編集をミスってしまうと、その時点でファイルが消えてしまいます。
ということでファイルの変更履歴については、GitHubと連携して、GitHubに丸投げしてしまうのが簡単です。GitHubと連携すれば、自サーバーとGitHubの2箇所にソースコードが残るため、単純なバックアップツールとしても利用できます。
まずはGitHubにログインし、新規リポジトリを「非公開(Private)で作成します。自分専用リポジトリの作成です。非公開なので、誰にも見られることはありません。自分だけのGitHubリポジトリです。
そして、Cloud9のコンソールから以下のコマンドを打ち込んで、GitHubの初期設定を行います。
コマンドを打ち込んだ後、GitHubのページ「https://github.com/ユーザー名/リポジトリ名」にアクセスして、きちんと反映されているかを確認します。また、GitHubにログインしていない状態で同アドレスにアクセスして、非公開になっていることを確認しておきます。これでGitHubとCloud9の連携は完了です。Cloud9上からGitHubへの変更履歴のLogも見られます。
Amazon AWS以外のサーバーにインストールするタイプのCloud9を利用する場合、ある機能が使えません。ファイルの変更履歴です。Cloud9により、どのマシンからでも同一の開発環境は得られますが、「ファイルを間違って消しちゃった!」、「ソースコードいじってたらおかしくなっちゃった!元に戻したい!」などの事態が起きた場合に、クラウドにしかファイルがないと困ります。クラウド環境で開発していると、ローカルにファイルを置かないため、クラウドで編集をミスってしまうと、その時点でファイルが消えてしまいます。
ということでファイルの変更履歴については、GitHubと連携して、GitHubに丸投げしてしまうのが簡単です。GitHubと連携すれば、自サーバーとGitHubの2箇所にソースコードが残るため、単純なバックアップツールとしても利用できます。
まずはGitHubにログインし、新規リポジトリを「非公開(Private)で作成します。自分専用リポジトリの作成です。非公開なので、誰にも見られることはありません。自分だけのGitHubリポジトリです。
そして、Cloud9のコンソールから以下のコマンドを打ち込んで、GitHubの初期設定を行います。
echo "# リポジトリ名" >> README.md
git init
git add README.md
git commit -m "first commit"
git remote add origin https://github.com/ユーザー名/リポジトリ名.git
git push -u origin master
コマンドを打ち込んだ後、GitHubのページ「https://github.com/ユーザー名/リポジトリ名」にアクセスして、きちんと反映されているかを確認します。また、GitHubにログインしていない状態で同アドレスにアクセスして、非公開になっていることを確認しておきます。これでGitHubとCloud9の連携は完了です。Cloud9上からGitHubへの変更履歴のLogも見られます。
操作方法については、GitHubの使い方通りです。Cloud9でソースコードを編集したら、GitHubにプッシュします。以下、よく使いそうなコマンドを載せておきます。
新規ファイル追加(コメントの部分は適宜変更します)。
特定の拡張子の新規ファイルを全て追加(例:phpの場合)。
ソースコードを編集した後、GitHubに追加済みで内容に変更があるファイルを自動コミットからのプッシュ。
差分チェック。
リモートリポジトリから特定のリポジトリをクローン。
プル(GitHubからダウンロード)。
ログ確認。
commitのハッシュ値確認方法。「git log」で表示されたlogの中のコミットハッシュ値をコピー。
git resetで、コミットしたところまで戻す。
特定のファイルのみ、コミットしたところまで戻す。
インストールしたCloud9自体は変更履歴を備えていませんが、Cloud9で開発したら、GitHubの方にプッシュしておけば良いというわけです。これでどのマシンからCloud9上で開発しても安心です。ファイルを間違って削除してしまったり、ファイルをいじっておかしくなったりしても、GitHubの方からソースコードを戻せます。
新規ファイル追加(コメントの部分は適宜変更します)。
git add ファイル名
git commit -m "コメント"
git push origin master
特定の拡張子の新規ファイルを全て追加(例:phpの場合)。
git add *.php
git commit -a -m "コメント"
git push origin master
ソースコードを編集した後、GitHubに追加済みで内容に変更があるファイルを自動コミットからのプッシュ。
git commit -a -m "コメント"
git push origin master
差分チェック。
git diff
リモートリポジトリから特定のリポジトリをクローン。
git clone https://github.com/ユーザー名/リポジトリ名.git
プル(GitHubからダウンロード)。
git pull origin master
ログ確認。
git log
commitのハッシュ値確認方法。「git log」で表示されたlogの中のコミットハッシュ値をコピー。
commit *********(←この部分の文字列)
git resetで、コミットしたところまで戻す。
git reset --hard *********(←コミットハッシュ値を貼り付け)
特定のファイルのみ、コミットしたところまで戻す。
git checkout *********(←コミットハッシュ値を貼り付け) ファイルパス
インストールしたCloud9自体は変更履歴を備えていませんが、Cloud9で開発したら、GitHubの方にプッシュしておけば良いというわけです。これでどのマシンからCloud9上で開発しても安心です。ファイルを間違って削除してしまったり、ファイルをいじっておかしくなったりしても、GitHubの方からソースコードを戻せます。