💻

git pushでアレコレやるのが面倒なのでコマンド一発で解決できるようにした話

2023/10/10に公開

想定読者

  • gitコマンドが分かる方
  • gitコマンドを日常的に使っている方
  • オリジナルコマンドを作りたい方

本稿ではgitやコマンドぐらいは理解している前提で書いてます。
gitやコマンドプロンプト(ターミナル)の使い方については検索してみると結構な数が出てくるので、そちらをご参照ください。

作ったファイル

パスが通っていてコマンドが使える場所ならどこでもOKです。
私の場合は/usr/local/bin/git-completeとしました。
これでgit completeがコマンドとして解釈されます。
内容は以下の通り。

#!/bin/sh
if [[ $1 = "" ]]; then # 引数がない場合
  echo "コミットメッセージは必須" 1>&2
  exit 2
else
  git pull
  git add -A
  git commit -m "${1} (push by terminal of macbook)"
  git push
fi

解説

ファイル名がコマンドです。ハイフンは半角スペースになります。
そのため「git-complete」は「git complete」となります。
コマンドファイル(拡張子なし)の実体はご覧の通りshellというかコマンドの集まりです。
誤解を恐れずに言えば、sh git-complete.shと同じような利用イメージです。
shで書くとshellですが、git completeと書くとコマンドっぽくて自己満足度が高まります。

謝辞

本稿では「オレオレコマンド作れるよ!」以上に意味を持たせていませんが、Shell芸人やPOSIX原理主義者にとってはマサカリをぶつけたくなるような内容である事を認識しています。
どういう使い方・書き方をすべきだとかコマンドとして書く以上は理念に従うべきとか、初心者が近寄りがたくなる内容については敢えて言及していないようにしている意図もご認識いただけますと嬉しいです。

Discussion