GitHubは以前からGitHub for Windows、GitHub for MacというGUIクライアントを提供していた(本連載の第142回参照)。これはGitの複雑な部分をラップし、Gitに不慣れな初心者でも簡単にGitを利用できるようにするためのものだった。

このGitHub for Windows、GitHub for Macの後継としてリリースされたのがGitHub Desktopだ。

図1:GitHub DesktopのWebサイト

GitHub Desktopを使った開発手順を体験してみよう

GitHub Desktopのメイン画面はとてもシンプルだ。左側のペインにリポジトリの一覧、メインのペインに現在のブランチの履歴が表示され、コミットの履歴を選択するとそのコミットでの差分を確認することができる。1ウィンドウで複数のリポジトリを管理することができるので多くのリポジトリを扱っている場合は便利だ。

図2:GitHub Desktopのメイン画面

GitHub Desktopを使用した日常的な開発手順の一例を体験してみよう。

まずは画面上部のツールバーから新しいブランチを作成する。その後、ブランチのファイルに適当な修正を加える。「Repository」メニューからリポジトリのディレクトリを開いたり、Atomエディタを起動することができるので編集時に利用するといいだろう。

図3:ブランチの作成

するとGitHub Desktopに変更されたファイルが表示されるので、コミットメッセージを入力してコミットする。コミット後、「Publish」ボタンをクリックするとこのブランチがリモートのGitリポジトリにプッシュされる。

図4:コミットとプッシュ

また、「Pull request」ボタンをクリックするとGitHubにプルリクエストを作成することもできる。ブラウザを開くことなくプルリクエストを作成できるので便利だ。

図5:プルリクエストの作成

修正したブランチに問題ないことを確認してmasterブランチに取り込んでみよう。ツールバーのプルダウンメニューでブランチをmasterに切り替えたあと、「Compare」と表示されているプルダウンから先ほど作成したブランチを選択すると、masterブランチと選択したブランチとの差分を確認することができる。

図6:ブランチとの差分を確認

問題なければ「Update from ブランチ名」をクリックするとmasterブランチにマージされる。その後「Sync」ボタンをクリックすればマージした内容がリモートリポジトリにプッシュされる(「Sync」ボタンはリポジトリからのプルにも使用する)。プルリクエストを作成したのであればGitHub上で確認・マージを行ってもよいだろう。

図7:ブランチのマージ

このようにGitHub Desktopはリポジトリとのプル、プッシュを「Publish」や「Sync」といった言葉で隠蔽していたり、リモートブランチとローカルブランチを意識せずに利用できるよう工夫されている。反面、今回紹介した以上の複雑な操作を行うことはできない。他のGitクライアントを使用するか、「Repository」メニューからターミナルを開くことができるのでコマンドラインから行うといいだろう。

まとめ

前述の通り、GitHub DesktopはGitに対するすべての操作をGUIで行うことはできない。そのため複雑なGit操作を行う場合にはコマンドラインや別のクライアントを使用する必要がある。とはいえシンプルなワークフローであれば日常業務を回すには十分な機能を備えているため、Gitを導入するための教育コストや、間違って不要な操作してしまう危険性を低減できる可能性がある。また、他のGUIベースのGitクライアントと比較すると動作も軽快だ。

複雑な操作を行う必要があるメンバーはSourceTreeなどの高機能なGitクライアント、各開発者はシンプルなGitHub Desktop、というように業務の役割に応じてクライアントを使い分けてもいいかもしれない。