Hack Your Design!

git switch養成ギプス

(image)git switch養成ギプス

本記事はGit Advent Calendar 2020 9日目の記事です。

git 2.23 にて git switch, git restore というコマンドが導入されたことはみなさん既にご存知のことかと思います。

雑に要約すると「git checkoutに機能もたせすぎてわかりにくくなっちゃったから、git switch, git restoreでわかりやすくしたよ!」ってことだと思います。

一方、まだgit switchに移行しきれていないという人も多くいるのではないかと思います。実際、私の周囲でも今もgit checkoutを使っている人をちらほら見るので、git switchに移行していくためのコツを書いてみます。

結論

switch のaliasを設定しろ、そしてcheckoutのaliasを捨てろ

git checkout only時代

checkoutというコマンドは長ったらしいのでaliasを設定して運用していたのではないでしょうか。

僕の場合、下記のようにaliasを設定しました。

# ~/.gitconfig
[alias]
  co = checkout

ただこれだと git checkoutをそのまま便利に使い続けてしまうので、思い切ってこいつを削除してしまうと良いかと思います。

もしくは下記のようにメッセージ出すとかでもOK。

# ~/.gitconfig
[alias]
  co = !echo "Use git switch/restore instead!"

git switch時代

git switch を使いやすくするために下記のようなaliasを設定します。

# ~/.gitconfig
[alias]
  sw = switch
  swc = switch -c

こうすることでcheckoutコマンドが下記のように生まれ変わります。

main branch へ切り替え

$ git checkout main
# sw = switch
$ git sw main

main branch から hoge branch 作成

git checkout -b hoge main
# sw = switch -c
g swc hoge main

余談

git restoreに対する良いaliasは今のところ見つかっていません。git resetとalias的に名前空間かぶつかるのでまだ良い命名できていないんですよね。

  • このエントリーをはてなブックマークに追加