Gitの小ネタおれおれAdvent Calendar 2022 – 09 日目
実は -
というショートカット?があります。
ブランチの切り替えで
$ git switch main
$ git switch myFeature
$ git switch -
これで main
ブランチに戻ります。
N 回分戻る指定
例えば 3 回戻るのに git switch @{-3}
というのが利用できます。-
は @{-1}
と同等とのことです。
You can use the
@{-N}
syntax to refer to the N-th last branch/commit switched to using “git switch” or “git checkout” operation. You may also specify-
which is synonymous to@{-1}
. This is often used to switch quickly between two branches, or to undo a branch switch by mistake.
マージで
switch
意以外でも使えます。
$ git switch main
$ git switch myFeature
$ git merge -
これで main が myFeature へマージされます。
この後にさらにまた git switch -
して git merge -
すると、今度は myFeature が main へマージされますね。
リベースで
$ git switch main
$ git pull
$ git switch myFeature
$ git rebase -
これで myFeature を main へリベースして繋ぎ直せます。
そしてディレクトリーで
何が元ネタなのかは知らないけれど、Git に限らずこの -
が使える場面があります。
$ cd ~/my-project/
$ cd /var/log/http/xxx
$ cd -
これで ~/my-project/
へ戻ってこられます。
たぶんシェルの機能だと思う、知らんけど。bash では動いてます。
注意点として、あくまでひとつ前を指すだけなので、先にまた移動しているともう戻っては来られません。
pushd
も便利
ディレクトリーの位置を記憶して積み重ねることができるコマンドです。
pushd
– 位置を記憶dirs
– 記憶しているもの一覧popd
– 最後に記憶した位置へ移動、記憶から削除
詳しくはこちら。
Git じゃないけどね。