前のブランチをgit checkoutする方法はありますか? 質問する

前のブランチをgit checkoutする方法はありますか? 質問する

cd -私はgit に と同等のものが欲しいと思っています。ブランチにいてmasterをチェックアウトする場合、に戻るには のfooように入力し、 に戻るにはもう一度 と入力できたらいいと思います。git checkout -masterfoo

このようなものは存在しますか?実装するのは難しいでしょうか?

ベストアンサー1

から1.6.2 のリリースノート

@{-1}は、最後にいたブランチを参照する方法です。これは、
オブジェクト名が期待される場所だけでなく、ブランチ名が期待される場所であればどこでも受け入れられ、ブランチ名を入力したかのように動作します。
たとえばgit branch --track mybranch @{-1}、、git merge @{-1}およびは
git rev-parse --symbolic-full-name @{-1}期待どおりに動作します。

そして

git checkout -は の省略形ですgit checkout @{-1}

以前のチェックアウトのリストを表示するには:

i=0; while [ $? -eq 0 ]; do i=$((i+1)); echo -n "$i. "; git rev-parse --symbolic-full-name @{-$i} 2> /dev/null; done

この Bash ワンライナー スクリプトは完璧ではありませんが、ほとんどの場合に機能するはずです。数字がスキップされる場合があることにご注意ください。

ヒント:.bashrcとして追加できますfunction

おすすめ記事