検索
連載

VS Codeでソースコード管理:リポジトリをGitHubに発行してみようVisual Studio Codeで快適Pythonライフ

ローカルリポジトリをVS Codeを使ってサクッとGitHubへ発行したり、リモートリポジトリをローカルな環境にクローンしたりしてみましょう。

PC用表示 関連情報
Share
Tweet
LINE
Hatena
「Visual Studio Codeで快適Pythonライフ」のインデックス

連載目次

 前回はコミット履歴をグラフィカルに管理できる拡張機能を紹介しました。今回はVisual Studio Code(以下、VS Code)でローカルに作成したリポジトリをGitHubへ発行したり、その逆にリモートリポジトリをローカルにクローンしたりといった、GitHubとVS Codeの連携操作の基本的な部分を見てみましょう。

ローカルのリポジトリをGitHubに公開

 ここではローカルな環境に「vscodepy_19」というフォルダを作成して、そこにREADME.mdファイルを作成したものとします。

vscodepy_19フォルダにREADME.mdファイルを作成したところ
vscodepy_19フォルダにREADME.mdファイルを作成したところ

 この時点ではリポジトリの初期化を行っていません。そのため、サイドバーの表示を[ソース管理]ビューに切り替えると次のようになります。

[ソース管理]ビュー
[ソース管理]ビュー

 普通に[リポジトリを初期化する]ボタンをクリックしてもよいのですが、ここではその下にある[GitHubに公開]ボタンを使ってみます。GitHubで新規にリポジトリを作成して、それをローカルにクローンして、VS Codeで扱おうとすると、いろいろな手順を踏む必要がありますが、VS Codeでローカルなリポジトリを作成して、それをGitHubで公開するのはとても簡単です。

 本当に簡単かどうか、実際に試してみましょう。上の画像の[GitHubへ公開]ボタンをクリックしてください。すると、以下のようなダイアログが表示されます(以下はWindowsのもの。実際のダイアログがOSごとに異なるものになるでしょう)。

VS CodeからGitHubへのサインインを促すダイアログ
VS CodeからGitHubへのサインインを促すダイアログ

 [許可]ボタンをクリックすると、Webブラウザに次のようなタブが表示されます。

VS CodeからGitHubへのアクセスを認証
VS CodeからGitHubへのアクセスを認証

 [Continue]ボタンをクリックすると、WebブラウザでGitHubへサインインしていないと、次のようにサインイン画面が表示されるのでサインインをしてください。

GitHubへのサインイン画面
GitHubへのサインイン画面

 サインインが終わるか、既にサインインしていれば、表示が次のように変わります(VS CodeとGitHubはサインインに使用したアカウントでひも付けられます。「git config --global user.name」コマンドや「git config --global user.email」コマンドで設定したアカウントやe-mailアドレスが使われるわけではありません。もちろん、多くの場合はそれらのアカウントを使ってサインインをしているとは思いますが)。

認証に成功したところ
認証に成功したところ

 [Visual Studio Codeを開く]ボタンをクリックすると、制御がVS Codeに移って、次のダイアログが表示されます。

認証が成功し、制御がVS Codeに移ったところで表示されるダイアログ
認証が成功し、制御がVS Codeに移ったところで表示されるダイアログ

 [開く]ボタンをクリックすると、次にコマンドパレットにGitHub上のリポジトリをパブリックなものにするか、プライベートなものにするかを問い合わせる画面が表示されます。

リポジトリをパブリックにするか、プライベートにするかの選択
リポジトリをパブリックにするか、プライベートにするかの選択

 ここではパブリックなリポジトリを選択しました。続けて、リポジトリに含めるファイルを選択するダイアログが表示されるので、必要なものを選択しましょう。

リポジトリに含めるファイルの選択
リポジトリに含めるファイルの選択

 といっても、ここではREADME.mdファイルしかないので、それを選択して、[OK]ボタンをクリックするだけです。その後、リモートリポジトリがGitHub上で作成され、ファイルがコピーされて、以下のようにリポジトリの発行が完了します。

GitHubへの発行が完了したところ
GitHubへの発行が完了したところ

 GitHub上でリポジトリを表示すると、次のように確かにリモートリポジトリが作られていることが分かります。

GitHub上に作成されたvscodepy_19リポジトリ
GitHub上に作成されたvscodepy_19リポジトリ

 このようにVS Codeでは、ローカルなリポジトリを作成して、それをGitHub上のリモートリポジトリとして発行するのがとても簡単に行えます。

リポジトリのクローン

 その一方で、既存のリモートリポジトリをローカルにクローンすることもよくあります。今度は今作成したリモートリポジトリを、ローカルな環境にクローンしてみましょう(ここでは、最初のフォルダとは別のフォルダにクローンします)。

 先ほどの画面でクローンに必要になるURLをコピーしておきましょう。

リポジトリのURLをコピーしておく
リポジトリのURLをコピーしておく

 コピーをしたら、VS Codeで先ほどのフォルダを閉じるか、新規にウィンドウを作成しましょう。[エクスプローラー]ビューは次のような表示になります。

フォルダをオープンしていない状態のVS Code
フォルダをオープンしていない状態のVS Code

 ここで使うのは[リポジトリの複製]ボタンです。これをクリックすると、次のようにリポジトリのURLを入力するダイアログが表示されます。

リポジトリのURLを入力するダイアログ
リポジトリのURLを入力するダイアログ

 先ほどの操作でVS CodeからGitHubへのサインインが完了しているので、[GitHubから複製]をクリックしてももう一度リモートリポジトリのURLを指定するダイアログが表示されるだけです。が、サインインしていない状態では、先ほど見たようなVS CodeからGitHubへのアクセスを認証する画面が表示されてから、リモートリポジトリのURLを入力することになります。なお、先ほどのリポジトリはパブリックにしたので、クローンするだけであれば、GitHubへのサインインは必要ありません。

 ここでリモートリポジトリのURLをダイアログに入力すると、ローカルのリポジトリをどこに作成するかのダイアログが表示されるので、適当なフォルダを指定してください。その後、クローンが開始され、最後に次のような画面が表示されます。

リポジトリのクローンが終わったところ
リポジトリのクローンが終わったところ

 右下に[クローンしたリポジトリを開きますか?]という問い合わせが表示されるので、[開く]ボタンをクリックすると、クローンしたリポジトリがVS Codeでオープンされます。

ローカルにクローンしたリポジトリをオープンしたところ
ローカルにクローンしたリポジトリをオープンしたところ

ローカルなリポジトリの変更とリモートリポジトリへの変更内容のプッシュ

 最後に、リモートリポジトリからクローンしたプロジェクト(ワークスペース)の内容を変更して、それをリモートリポジトリに反映してみましょう。とはいえ、あるのはREADME.mdファイルだけなので、これを適当に変更してみます。

適当に内容を変更したREADME.mdファイル
適当に内容を変更したREADME.mdファイル

 上の画像は、README.mdファイルに少しだけテキストを追加して、それを[ソース管理]ビューでステージングしたところです。これをコミットすると、[ソース管理]ビューには[変更の同期1]ボタンが表示されます。

コミットを終えたところ
コミットを終えたところ

 このボタンをクリックすると、次のようなダイアログが表示されます。


 これはこの後、手元で変更をしている間にリモートリポジトリに対して行われた変更をローカルのリポジトリに取り込んでから(git pullコマンド)、ローカルで行った変更をリモートリポジトリに送信する(git pushコマンド)ことを教えてくれています(が、前者についてはここでは何もしていないので、実際にはローカルのリポジトリの変更がリモートリポジトリに反映されるだけです)。

 [OK]ボタンをクリックすると、リモートリポジトリに対してプッシュとプルが行われます。Webブラウザでこのリポジトリを表示すると、以下のように修正が取り込まれていることが確認できます。

変更がリモートリポジトリに取り込まれた
変更がリモートリポジトリに取り込まれた

 これはサンプルであり、自分だけが取り扱うことが分かっているのでリモートリポジトリに変更した内容を問答無用でプッシュすることができましたが、複数人でプロジェクトに取り組んでいる場合には、こうはできないでしょう。開発者が元のリポジトリに対して何かの変更を行ったら、その内容を取り込むようにリクエストをして、次にその内容がレビューされた上で、問題がなければその変更がリポジトリに取り込まれることになります。

 次回は今述べたようなローカルリポジトリの内容を安全にリモートリポジトリに取り込む際の作業やそれに関連して便利に使えるであろう拡張機能を見てみます。

連載一覧


「Visual Studio Codeで快適Pythonライフ」のインデックス

Visual Studio Codeで快適Pythonライフ

Copyright© Digital Advantage Corp. All Rights Reserved.

[an error occurred while processing this directive]
ページトップに戻る