2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

lazygitのカスタムコマンドでデフォルトコマンドを上書きする方法

Last updated at Posted at 2021-12-14

皆さんlazygit使ってますか?
私はCliでやる派閥なのですが、コマンドだと他の方に見せる時や駆け出しエンジニアの方を教育する際に「何やってるかまるでわからん」と言われてしまい、泣く泣く導入しました(T_T)

最初は面倒だったlazygitですが、もう今となっては、とても見やすく、これ無しでは辛くなってきています。
結局は使い続けていたら手に馴染むものですね!

ちなみにlazygitvimとの親和性が高く、こちらのvimプラグインを導入すればvimの中からlazygitが呼べるので、一度vimを起動すればもうvimを閉じる必要がありません。

いやしかし、それでも毎分 git commit する生活をしていると、コマンドのカスタマイズが必要になってきて、結局vimを閉じてコマンドを直接打つ機会が増えてきます。

そんな時にlazygitのドキュメントを読んでいたところ、カスタマイズできるじゃないですか!

ということで早速試してみましょう。

今回はgit commitする際のHookに何かしらのチェックが入っていた際にそれを無効化するようなオプション(--no-verify or -n)を付ける設定に上書きしましょう!
(無効化するくらいなら始めから入れるなよ、というのは置いておいて)

以下ファイルを作成する or lazygit上でoを押す

~/.config/lazygit/config.yml
customCommands:
  - key: 'c'
    prompts:
      - type: 'input'
        title: 'Commit message'
        initialValue: ''
    command: "git commit --no-verify -m '{{index .PromptResponses 0}}'"
    context: 'files'
    description: 'commit changes(Custom Command)'
  - key: 'C'
    command: "git commit --no-verify"
    context: 'files'
    subprocess: true
    description: 'commit changes using git editor(Custom Command)'

これで保存して実行するだけでOKです!

スクリーンショット 2021-12-14 10.23.33.png

このようにcCが上に2つ追加されました。
下にも元々のコマンドは残ってしまうのですが、上に書いてあるものが優先されそうです。

注目すべきはcCでそれぞれ設定方法を変えていることです。

promptsを使わずに直接commandのみだとエディタが立ち上がってしまいます。

cの場合はlazygitのinputを利用するためにpromptsで実行しています。

それではまた!

2
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
2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?