開発者にとって必須のツール「GitHub.com」と「Git」

前回までに、ソースコードのバージョン管理サービスとしてGitHub.comを利用するための準備を行うとともに、Windows 10にGitコマンドをインストールして使う方法を取り上げた。これにより、Windows 10からGitコマンドを使ったGitHub.comサービスの利用が可能になったはずだ。

GitHub.comはソースコードの公開が不要なプライベートリポジトリを作成することができる。試験的に取り組む開発などはまずプライベートリポジトリを使うとよいだろう。会社のPCからも、サテライトオフィスに持ち込んだノートPCからも、自宅のPCからも、同じようにソースコードにアクセスして開発を再開できる環境は、一度慣れてしまうともうそれまでの世界に戻れないほどの便利さだ。

一人だけで使うだけでもこれだけ便利なのに、チーム開発でも同等の機能を提供するGitHub.comはさらに便利だ。GitHub.comがチーム開発に必要になるさまざまな機能を提供してくれているし、バージョン管理システムだけでも有能なのだ。

派生的な使い方となるが、GitHub.comは設定ファイルの保存場所に加えて、作業用メモや作業用ドキュメントの保存場所としても利用できる。GitHub.comはもはや開発者にはなくてはならないツールでありサービスなのだ。

Visual Studio CodeとGit

Visual Studio Codeは、バージョン管理システムとしてGitに(もちろんサービスとしてのGitHub.comにも)対応している。今、最も人気が伸びている開発環境がVisual Studio Codeであり、最も人気がある開発者向けプラットフォームがGitHub.comだ。つまり、Visual Studio CodeとGitHub.comの連携は必須の状況とも言える。

まず、前回作成したリポジトリ「vscode-hello-world」をVisual Studio Codeで開く。

  • リポジトリvscode-hello-worldをVisual Studio Codeで開く

    リポジトリvscode-hello-worldをVisual Studio Codeで開く

このリポジトリには、hello.cファイルしか追加されていない。これではビルドもデバッグもできないので、これまでの回で取り上げたようにしてビルドのための設定とデバッグのための設定を追加する。

ビルド用設定ファイル tasks.json

{
    "version": "2.0.0",
    "tasks": [
        {
            "label": "Clang",
            "type": "process",
            "command": "C:\\Program Files\\LLVM\\bin\\clang-cl.exe",
            "args": [
                "${file}",
                "-o",
                "${fileDirname}\\${fileBasenameNoExtension}.exe"
            ],
            "problemMatcher": [],
            "group": {
                "kind": "build",
                "isDefault": true
            }
        }
    ]
}

デバッグ用設定ファイル launch.json

{
    "version": "0.2.0",
    "configurations": [
        {
            "type": "lldb",
            "request": "launch",
            "name": "Debug",
            "program": "${workspaceFolder}/${fileBasenameNoExtension}.exe",
            "args": [],
            "cwd": "${workspaceFolder}"
        }
    ]
}
  • tasks.jsonとlaunch.jsonファイルを作成したところ

    tasks.jsonとlaunch.jsonファイルを作成したところ

リポジトリに登録されているのは、hello.cファイルだけだ。tasks.jsonとlaunch.jsonも当然だが、リポジトリに追加していく必要がある。

Visual Studio Codeのソース管理機能

Visual Studio Codeのソース管理機能を解説するのは本連載の範囲を超えるので、簡単に触れるだけにとどめるが、Visual Studio CodeはGitを使ってローカルでソースコードをバージョン管理する機能を備えている。外部のサービスとしてGitHub.comを使うことができるが、Visual Studio Code単体でもローカルでGitを使ったバージョン管理が可能なのだ。

ここまで操作を行うと、Visual Studio Codeの左側にあるアイコンに何らかの数字が表示されるはずだ。ここでは「4」という表示が付いているが、これが「ソース管理」のビューだ。

  • 「ソース管理」のビューを表示

    「ソース管理」のビューを表示

ファイル名の右側にMやUといった文字がついている。これは、MがModified (変更済み)、UがUntracked (トラッキング対象外)を意味している。Mが付いているhello.cはリポジトリに登録されており、さらにファイルを編集したのでMが付き、tasks.jsonとlaunch.jsonは新規作成されてリポジトリに追加されていないのでU、ビルドして生成されたバイナリファイルであるhello.exeもリポジトリに登録されていないのでUだ。

ファイルにフォーカスを移すと、次のように変更された部分が差分として表示されるようになる。

  • hello.cの変更内容

    hello.cの変更内容

  • tasks.jsonの変更内容

    tasks.jsonの変更内容

こうしたソース管理機能はGitを使って実現しているので、上記のような使い方をするには、まずシステムにGitコマンドがインストールされて使える状態になっている必要がある。

実のところ、Gitは多機能かつ高機能だ。使いこなすのは難しいかもしれないが、使えるようになってくるとこれほど便利な機能もないのだ。GitHub.comを使わないとしても、Gitコマンドをインストールして、ローカルでVisual Studio Codeのソース管理機能を使えるようにしておくことはオススメしておきたい。

GitHub.comとの連携

ローカルでGitを使ったソース管理機能を使うことができるわけだが、ローカルで行った変更はGitHub.comのリポジトリへ反映させることができる。「ソース管理」で表示したビューに「…」と表示されているアイコンがあるはずだが、これを選択すると、次のようにメニューが表示される。メニューにある「Push」が、前回紹介したgit pushに相当する処理になっている。これを選択すればgit pushに相当する処理が行われる。

  • Visual Studio Codeからgit push相当の処理を実行

    Visual Studio Codeからgit push相当の処理を実行

実行すると、GitHub.comのリポジトリへ変更が反映される。Uとされていたファイルはすべて追加されリポジトリに登録されていることを確認できる。

  • GitHub.com側でファイルが追加されていることを確認

    GitHub.com側でファイルが追加されていることを確認

このように、Visual Studio CodeにはローカルでGitを使う機能が統合されているほか、GitHub.comとの連携も行えるようになっている。さらに、拡張機能をインストールすればより便利な使い方ができる。

最低限、ローカルでのGit利用は実現しよう

業務でGitHub.comやGitを使えるかどうかは、会社やプロジェクトごとに異なるだろう。プロプライエタリなバージョン管理システムが使われていることもあるし、独自のシステムが使われていることもある。あるいは、こうしたツールを使っていないかもしれない。

もし、バージョン管理システムが使われていない開発現場だったとしても、Visual Studio CodeとGitを用意しておけば、ローカルでの開発ではバージョン管理を行うことができる。問題が出たら、差し戻すこともできので便利だ。最初にこうした環境を整えておくと、開発が進んでから助けられるシーンも出てくると思うので、最初の段階でちゃんとセットアップをしておこう。

参考