Gitのコマンドを簡単に入力するためのツール

## はじめに

この記事では、ペースターというテキスト入力支援ツールを使用してGitのコマンドを簡単に入力する方法をご紹介します。GitBashやPowerShellのコンソール画面で使用します。

## 使用するツール

今回はフリーソフトとして公開しているWindows用の「ペースター」というソフトを使用します。
このソフトは「定型文入力の機能」と「クリップボード履歴を管理する機能」を持っている常駐タイプのソフトになります。テキストエディター、ワープロ、Webブラウザなど、いろいろなアプリから使用することができます。ただし、ストアアプリからは使用できません。

通常使用するカスタムメニューでは、日付、署名、会員サイトのログインなどに使用するユーザー名やパスワードなどを登録しておいて、必要な時にポップアップメニュー形式でキャレット位置にペーストして使用します。テンプレートファイルの特定のフィールドを指定されたテキスト項目に置き換えて貼り付ける、というような機能もあります。

このカスタムメニューは、用途に応じてユーザーの方が自由に作成することができます。
HTMLやCSSのタグを入力するためのメニュー、LaTeXの数式を入力するためのメニュー、ヤフオクでの定型処理を簡単に行うためのメニュー、などをご自分で作成することができます。

今回はGitのコマンドを簡単に入力するためのメニューを作成しましたので、こちらを紹介したいと思います。

ちなみに、**ペースター側の設定変更なしでGitBashでカスタムメニューを表示するには、４月２２日に公開した「Ver7.07」以降を使用する必要があります。**

## ペースターのインストールと簡単な使い方

**（注意）ペースターはWindows専用のソフトです。大変申し訳ありませんが、Macのユーザーの方はお使い頂けません。**

ペースターは下記のサイトからダウンロードすることができます。
・[オータムソフト](https://autumn-soft.github.io)

なお、今回使用するカスタムメニュー（GitCommand.txt）は、上記のオータムソフトのサイトのペースターのダウンロードページから取得できるようになっています。

## カスタムメニューのイメージ

それでは、実際にどのようなイメージでGitのコマンドを入力していくのかを説明します。
今回使用するメニューファイル（GitCommand.txt）をペースターに登録して呼び出すと、以下のようなポップアップメニューが表示されます。
![gitcommand_1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/262544/80a010b3-263f-0d1a-c0dd-ec97cfe78d27.png)
この中から入力したいコマンドを選択していく感じになります。
実際にコマンドをペーストして[Enter]キーを押すと以下のように実行されます。
![gitcommand_2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/262544/2ab9e384-29b8-ce46-b830-fd97407c4279.png)
Gitはコマンドの数も多いですし、各コマンドに対して豊富なオプションが用意されていますので、これらを覚えるのはなかなか大変です。
そこで、ペースターを利用することで上記のようにポップアップメニューからコマンドを入力することができるようになります。

なお、メニューの構成はユーザーが自由にカスタマイズすることができますので、不要な項目は削除したり、不足しているコマンドを追加することができます。

## コマンドのパラメータを入力する場合

`git commit -m "Commit message."`のようにパラメータが必要なメニュー項目を実行すると、以下のようなダイアログが表示されます。
![2020-04-21_15h35_28.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/262544/38234da3-a225-06c0-7647-ef989eca1087.png)
そして、パラメータを入力して「完了」ボタンを押すと、以下のようにコマンドが入力されます。複数のパラメータを入力することもできます。
![2020-04-21_15h35_49.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/262544/533925ee-8f0d-1ec7-1b5a-510ca8da99d4.png)
このように、ダイアログを表示するメニュー項目は「メニュー項目...」のように「...」が末尾に付いています。

## （補足）PowerShellで`git log`などで日本語が文字化けする場合

これはペースターとは関係ないのですが、このような場合には下記のようにグローバル設定を変更することで対処することができます。

```bash
git config --global core.pager "LESSCHARSET=utf-8 less"
```

## メニューファイルのソース

さて、上記で紹介したカスタムメニュー（GitCommand.txt）はテキスト形式のファイルとして作成しています。全部を掲載すると長くなるので、以下に抜粋して紹介します。全文はホームページからダウンロードして確認してみてください。

```GitCommand.txt
============================================================================
; Gitのコマンドを入力するためのカスタムメニューです。
; 作者：オータム西野
; 
; 空白行や行頭に「;(セミコロン)」や「=(イコール)」のある行はコメント行です。
; 詳しい書式は、オンラインヘルプの「メニュー作成用ファイルの説明」を
; 参照してください。
; 
; メニュー項目の構成などは各自で自由に変更してみてください。
; 使用しない項目は削除したり、新しい項目を追加したり・・・
; 
; ちなみに、PowerShellで「git log」などのコマンドを使用すると
; 日本語が文字化けすることがありますが、その場合には以下のような
; コマンドでグローバル設定を変更することで対処することができます。
; git config --global core.pager "LESSCHARSET=utf-8 less"
============================================================================

; よく使用するコマンドをトップに出しておきます

現在の状態を表示 | git status
「新規／更新／削除」ファイルをステージング | git add -A
ステージング済みのファイルをコミット... |
	[/][#|コミットメッセージを入力]
	[/]git commit -m "[#1]"
/E
ログを表示（樹形図スタイル） | git log --graph --decorate --oneline --all
-
ローカルブランチの一覧表示 | git branch -v
指定したブランチをチェックアウト... |
	[/][#|チェックアウトするブランチの名前]
	[/]git checkout [#1]
/E
-
リモートリポジトリの更新内容をフェッチ | git fetch
リモートリポジトリから現在のブランチにプル | git pull
現在のブランチをプッシュ | git push
-

================================================================
+リポジトリの作成
	現在のフォルダにリポジトリを作成 | git init
	名前を指定してリポジトリを作成... |
		[/][#|作成するリポジトリの名前]
		[/]git init [#1]
	/E
	-
	指定したサイトのクローンを作成... |
		[/][#|サイトのURL（またはローカルディレクトリ名）|
		リポジトリを作成するディレクトリの名前（省略可）]
		[/]git clone [#1] [#2]
	/E
	指定したサイトのクローンを作成（ベアリポジトリ）... |
		[/][#|サイトのURL（またはローカルディレクトリ名） | 
		リポジトリを作成するディレクトリの名前（省略可）]
		[/]git clone --bare [#1] [#2]
	/E
..

（以下、省略・・・）
```

## 終わりに

以上、簡単ではありますがペースターを使用したGitのコマンドの入力について紹介しました。プログラマーやWebサイトの制作などをされている方のお役に立てば幸いです。