LoginSignup
1
0

More than 1 year has passed since last update.

Gitエイリアスの設定を晒す

Last updated at Posted at 2022-12-19

この記事は上智大学エレラボ Advent Calendar 2022 第19日目の記事です。

はじめに

上智大学を卒業してから早いもので2年が経過しました。今年もアドベントカレンダーに寄稿をしたいと連絡したところ部長からご快諾をいただきましたので執筆させていただきます。

今回の記事は小ネタでGitエイリアスに設定している内容についてです。もともとは手打ちや Visual Studio CodeSource Control で頑張っていたのですが、ある日エイリアスを設定できることを知って登録してみたところ、思った以上に便利で今ではいくつか設定しています。その中から2種類のエイリアスを紹介いたします。

copy-current-branch-name

git config --global alias.copy-current-branch-name '!git branch --show-current | tr -d "\n" | pbcopy && pbpaste'

今チェックアウトしているブランチの名前をクリップボードにコピーするエイリアスです。

こだわったポイントとしては、最後の改行文字を消しているところと pbcopy && pbpaste しているところの2つです。
改行文字を消すことで、コピーしたブランチ名を他のアプリケーションへ貼り付ける際に意図しない改行の発生を防げます。
また、最後に pbpaste でコピーした内容を表示することでクリップボードに入った内容を把握できます。

実行例

$ git copy-current-branch-name        
main%

※ 筆者の環境が zsh なので、末尾改行がない出力に対して % が付加されています

余談ですが、 ~/.zshrc のエイリアス設定で、 alias pbcotee="pbcopy && pbpaste" を入れておくといろんな場所で使えて便利です。コマンド名は teeコマンド に由来しています。

approve-pr, approve-pr-with-cat

git config --global alias.approve-pr '!bash -c '\''echo "$1" | gh pr review --approve --body-file -'\'' -'

gh コマンドを使って今チェックアウトしているPRを承認するエイリアスです。 gh コマンドのセットアップ方法などは公式サイト をご覧ください。

実行例

git approve-pr "LGTM\!\!"
✓ Approved pull request #1

当然のことながらコメントはMarkdown形式なので、好きな画像を差し込むことができます。

LGTMeow というサービスに掲載されている猫ちゃんの画像のリンクをテキストファイルに保存しておきます。

~/.config/git/lgtmeow.txt
https://lgtm-images.lgtmeow.com/2021/03/16/01/e62cf588-057c-43a1-82a0-035d7c0e67bf.webp
https://lgtm-images.lgtmeow.com/2021/03/16/23/ac9c977c-5794-4c51-b719-f715d9db2eaf.webp
https://lgtm-images.lgtmeow.com/2021/11/16/22/82f46511-f5c8-4488-a090-871e9b7b1a65.webp
https://lgtm-images.lgtmeow.com/2022/04/11/00/01c919db-0ad8-42a8-bf06-c67a3794254e.webp
https://lgtm-images.lgtmeow.com/2022/04/16/22/88ff1d16-421b-465c-988a-91d911fd801c.webp
https://lgtm-images.lgtmeow.com/2022/04/27/16/9f452c98-7d03-4055-8b19-5822fc9a1452.webp
https://lgtm-images.lgtmeow.com/2022/09/14/12/e4372f80-b057-4ad3-9be0-ad92e3694992.webp
https://lgtm-images.lgtmeow.com/2022/12/10/23/b63b4cc3-7153-4e4e-bb0b-9533fc38cc0c.webp
https://lgtm-images.lgtmeow.com/2022/12/13/16/15f3a3ed-498b-4dbf-8a1d-7b5abc35e58c.webp

shufコマンドでランダムに抽出してコメントに追記できます。

git approve-pr "LGTM\!\!<br> ![LGTM]($(shuf -n1 ~/.config/git/lgtmeow.txt))"

fzfなどを使っていればコマンドが長くてもそこまで困らないですが、真ん中のコメントをいじらなければ行けないのは少し不便です。
そこで、 approve-pr-with-cat もエイリアスを用意してあげています。

git config --global alias.approve-pr-with-cat '!bash -c '\''echo "$1<br> [![LGTMeow]("'\''$(shuf -n1 ~/.config/git/lgtmeow.txt)'\''")](https://lgtmeow.com)" | gh pr review --approve --body-file -'\'' -'
git approve-pr-with-cat "良いと思います!!"
✓ Approved pull request #1

image.png

いい感じに動いていますね。ぜひ殺伐としたPRに猫の画像を加えて癒やしを与えてみてください。

参考文献

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0