🐁

【Git】PowerShell をカスタマイズして Git コマンドを簡略化しよう

2024/12/10に公開

はじめに

PowerShell の Profile を用いて Git コマンドを簡略化します。

まずこの記事を読んで gitconfig に Git コマンドのエイリアスを作ることを推奨します。
Gitコマンドにエイリアスをつけて効率化を図ろう!

メリット・デメリットは上記事と同じです。

  • メリット
    • 自分の解釈で命名できるのでわかりやすい
    • タイピングが減るので速度が上がる
    • 試行錯誤するのがたのしい
  • デメリット
    • コマンドがより安易に実行できてしまうので注意が必要
    • 極端な別名をつけてしまうと本来のコマンドを忘れてしまうかも?
      • コマンドを他の誰かに教えるときに困るかも
    • 画面共有時、何をしているのか見ている人がわからなくなる場合がある

PowerShellプロファイルとは

  • PowerShellセッション開始時に自動実行されるスクリプトファイル
  • 個人のカスタム設定( エイリアス、関数、環境変数など )を保存する

プロファイルに記述することで永続化!

プロファイルの確認

プロファイルが存在するか確認

Test-Path $PROFILE

プロファイルの作成

存在しない場合は以下で作成

if (!(Test-Path -Path $PROFILE)) {
    New-Item -ItemType File -Path $PROFILE -Force
}

プロファイルの編集

作成されたプロファイルを編集

notepad $PROFILE

PowerShell のエイリアスとは

コマンドやスクリプトに短縮名を設定する機能
Powershell には以下のようなエイリアスがデフォルトで設定されている

ls -> Get-ChildItem
cd -> Set-Location

頻出コマンドを簡略化

"git" を省略

まずは git コマンドを実行するときの git を省略

function g { git $args }

タイプ数を削減できました。
git status => g status
git branch => g branch

慣れるまで少し時間を要しますが、これだけでもだいぶ快適です。

gitconfig にエイリアスがある場合は数文字でコマンドの実行ができるようになります。
git st => g st
git b => g b

よく使うコマンドを省略

コマンドの statusbranch を例に省略

function gst { git status $args }
function gb { git branch $args }

gitconfig にエイリアスがある場合は以下のようにしてもOK

function gst { git st $args }
function gb { git b $args }

g status => gst
g branch => gb

複数のコマンドをひとつにまとめる

複数のコマンドをひとつにまとめて実行することもできる

function gacm {
    git add -A
    git commit -m $args[0]
}

おまけ

git コマンドに限らずいろいろできる

npm

npm install なども省略できる

function ni { npm install }

"g" も省略できる

PowerShell のデフォルトのエイリアス等と被っていなければ、命名は自由なので g をなくすこともできる
git コマンドgit コマンド以外 で混同しないように注意が必要ですね

function st { git st $args }
function b { git b $args }

作業場所の移動をコマンドにする

どこにいても特定のディレクトリに戻ってくることができる

function ct { cd C:\Users\$env:USERNAME\workspace\test }

Thinkingsテックブログ

Discussion