Ubuntu Weekly Recipe

第792回GUIのGitクライアント⁠GittyupでGitの勉強をする

今回はオープンソースでマルチプラットフォームなGUIのGitクライアント、Gittyupを紹介します。

Git初学者向けのGUIクライアント

あなたはプログラマーです。Gitも突っ込んだことは検索しないとよくわからないものの、普段遣いする範囲では手に馴染んたツールとなっています。

そんな中、同じチームに中途採用の新人が配属されることになりました。プログラムに関する知識はあるものの、Gitについては経験がないらしく、説明してくれと上長から言われてしまいました。

そんな人に説明できるほど詳しいわけではないんだけどな……と思いつつ、クライアントOS(もちろんUbuntu)で動作するGitクライアントを探し始めました。長期的に考えればgitコマンドを覚えてもらうほうがいいに決まっていますが、まずはGUIクライアントから検討することにしました。

……というのが今回のシナリオです。もちろんフィクションです。

最近のだいたいのIDE(Integrated Development Environmentのほうで、Integrated Drive Electoronicsではない)にはGitクライアント機能が統合されています。これを使用してもいいのですが、ちょっと機能が足りないと日々感じており、結局コマンドを叩きがちです。ついついgit commitを実行してしまい、コミットログを書き込むためにIDEのタブが開いてまた無意識にやってしもうたと思うことは誰しもあることでしょう(ここだけノンフィクション⁠⁠。

UbuntuのリポジトリにはさまざまなGUIのGitクライアントがありますが、今回はFlathubから探すことにしました。条件は次のとおりです。

  • オープンソースであること
  • できればマルチプラットフォームであること
  • 必要な機能がひととおり揃っていること
  • 活発に開発が行われていること

そんなに虫のいいものがあるのかな……という感じですが、ありました。Gittyupです。ただしFlathubにあるパッケージは日本語メニューになりません。開発版では日本語にでき、AppImage版もダウンロードできますが、日本語の入力はできませんでした。よって、遠からず行われるであろう最新版のリリースを待ったほうがいいのですが、今回は英語メニューのままで紹介します。

Gittyupのインストール

前述のとおりGittyupはFlathubからインストールするため、Flatpakの実行環境を準備します。すでにご存知のことでしょうが、あらためて解説します。端末を起動し、次のコマンドを実行してください。

$ sudo apt install flatpak gnome-software-plugin-flatpak
$ flatpak remote-add --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo

ここで一旦再起動します。

あとは先程インストールした「ソフトウェア」からGittyupをインストールするか図1⁠、次のコマンドからインストールしてください。

図1 ⁠ソフトウェア」でGittyupを検索したところ
図1
$ flatpak install flathub com.github.Murmele.Gittyup

Gittyupを使ったGit操作

Gittyupを起動すると、テーマを選択するメニューが表示されます図2⁠。今回は「Default Theme」とします。テーマを選択すると実際に起動します図3⁠。

図2 テーマを選択するメニューが表示されます
図2
図3 Gittyupのメインウィンドウ
図3

初期設定

まずは「Tools⁠⁠-⁠Options」「User name」「User email」を入力します図4⁠。

図4 ユーザー名とEメールを入力する。Gitのコマンドラインでも必須な操作
図4

クローン

続いて「Clone repository」で、リポジトリをクローンします。クローン元のURLを入力し、⁠Next」をクリックします図5⁠。続いてクローン先のフォルダー情報を入力して「Clone」をクリックします図6⁠。

図5 クローン元のURLを入力し
図5
図6 クローン先のフォルダー情報を入力する
図6

クローンしたリポジトリが表示されました図7

図7 メインウィンドウにクローンした情報が表示されたところ
図7

リモートリポジトリの追加

いきなりヘビーな使い方になりますが、別のリモートリポジトリを追加してその内容を手元のmasterにマージしたいとします。⁠Repository⁠⁠-⁠Configure Repository⁠⁠-⁠Remotes」タブに、リモートリポジトリを登録します図8⁠。

図8 リモートリポジトリを登録し、項目が2つになった
図8

続いて「Remote⁠⁠-⁠Fetch From」を開き、⁠Remote」を先程追加したリモートブランチにして「Fetch」をクリックします図9⁠。

図9 先程追加したリモートブランチを指定して「Fetch」をクリックする
図9

そして「Branch⁠⁠-⁠Merge」をクリックして先程追加したリモートブランチを選択して「Merge」をクリックします図10⁠。

図10 ⁠Reference」「Merge」を指定する
図10

コミットログを入力して「Merge」をクリックします図11⁠。

図11 マージなのでコミットログが必要
図11

コミット

コミットは、まずは右中央の「Staged Files」を確認します。ここが空の場合はコミットできません図12⁠。⁠Unstaged Files」にあるファイルやフォルダーをコミットする場合は、左側のチェックボックスにチェックを入れます。すると「Staged Files」に移動します。コミットする場合は、⁠Staged Files」にあるファイルやフォルダーにチェックを入れます。すべてのファイルをコミットする場合は、⁠Staged All」をクリックします。

図12 右下の「Unstaged Files」はコミットしないファイルやフォルダーが置かれる
図12

コミットするファイルやフォルダーが決まったら「Commit Message」にコミットログを書き、⁠Commit」をクリックします。

コミットログに誤りがある場合は、⁠Repository⁠⁠-⁠Amend Commit」で修正できます。⁠Commit Message」を書き換え、⁠Amend」をクリックします図13図14⁠。

図13 修正前のコミットログ
図13
図14 修正後のコミットログ
図14

プッシュ

リモートブランチへ新しいブランチをプッシュする場合は、⁠Remote⁠⁠-⁠Push To」を開き、たいていの場合はそのまま「Push」をクリックします。GitHubなどではパスワードでのプッシュができず、アクセストークンを取得する必要がある場合もあります。

デフォルトブランチへのプッシュは、⁠Remote⁠⁠-⁠Push」をクリックするか、メニュー左上にプッシュするコミット数が赤丸で表示されているので、これをクリックすることによって行なえます図15⁠。

図15 左上に赤丸の数字(ここでは「2⁠⁠)があり、ここをクリックするとプッシュする
図15

GUIのメリット

GUIのメリットは、今現在どのブランチで作業しているのかと変更点が常に表示されていることでしょう。Gittyupはそればかりでなくブランチ、リモート、タグの一覧から簡単に切り替えられるのもメリットです。

日常的に使用するGitのコマンドがひととおり揃っており、またGUIならではの見やすさもあるGittyupは、Gitの取っ掛かりにはぴったりで今回のような場面でも活躍できることでしょう。

おすすめ記事

記事・ニュース一覧