cd -
gitと同等のものが欲しいです。ブランチmaster
にいてチェックアウトしている場合は、に戻るようなものを入力し、もう一度入力してに戻ることができるようfoo
にしたいと思います。git checkout -
master
foo
このようなものはありますか?実装するのは難しいでしょうか?
cd -
gitと同等のものが欲しいです。ブランチmaster
にいてチェックアウトしている場合は、に戻るようなものを入力し、もう一度入力してに戻ることができるようfoo
にしたいと思います。git checkout -
master
foo
このようなものはありますか?実装するのは難しいでしょうか?
1.6.2のリリースノートから
@{-1}
最後に行っていたブランチを参照する方法です。これは
、オブジェクト名が期待される場所だけでなく、ブランチ名が期待される場所でも受け入れられ、ブランチ名を入力したかのように機能します。
たとえば、、、git branch --track mybranch @{-1}
およびgit merge @{-1}
は
git rev-parse --symbolic-full-name @{-1}
期待どおりに機能します。
と
git checkout -
の省略形ですgit checkout @{-1}
。
最近これを行う最も簡単な方法は次のとおりです。
git checkout -
...これは次のエイリアスです:
git checkout @{-1}
これについてもっと知りたい場合は、ここに記事全体を書きました:Gitの前のブランチをチェックアウトしてください。
@Karlが指摘しているように、そしてgit checkout
マニュアルから:
特別な場合として、最後のN番目のブランチの「@ {-N}」構文は、ブランチをチェックアウトします(デタッチする代わりに)。「@{-1}」と同義の--を指定することもできます。
したがって、両方ともgit checkout -
このgit checkout @{-1}
場合は機能します
最も近いと思うのは、を使用しgit reflog
て最新のものを解析しmoving from branch1 to branch2
、git checkout branch1
Gitバージョンでは、それを実行するために使用できるコマンド(およびそれ以上)が2.23
導入されました。git switch
公式ドキュメントの引用:
指定されたブランチに切り替えます。作業ツリーとインデックスは、ブランチに一致するように更新されます。すべての新しいコミットは、このブランチの先端に追加されます。
特定のケースでgit switch -
は、以前にいたブランチに戻るために発行することができます。同じコマンドを再度実行して、最初のブランチに戻ることができます。
PSそれを行う方法がまだわからないわけではありませんが(この質問をしてから7年が経過していることを意味します)、このコマンドは、を使用するときに発生する一般的な混乱git checkout
に対処するため、初心者にとっては混乱が少なくフレンドリーです。
私は前の支店をチェックアウトするのと同じ考えでこの質問にたどり着きました。私はでohmyzを使用していMac
ます。以下のコマンドは私を助けました。
$ gco -
$ git checkout -
動作するメカニズムを理解するために、前の回答にもう少し詳細を追加するだけgit checkout @{-N}
です。git reflog
reflogをウォークアウトしてチェックアウト履歴を検査するため、同様の何かを自分で実装したい場合は、行を探す出力を解析できるはずですcheckout:
。git sourceで実装を確認できます。sha1_name.c
具体的には、関数interpret_nth_prior_checkout
です。
最も一般的な解決策は次のとおりです。
git checkout @{-N}
ここで、N-チェックアウト履歴に戻るためのブランチのステップ数。
他の回答によって与えられた解決策を説明するGitのドキュメントの一部へのポインタは次のとおりgit checkout -
です。git checkout @{-1}
コマンドにGitリビジョンを指定する場合@{-<n>}
、たとえば、「現在のブランチ/コミットの前にチェックアウトされた@{-1}
n番目のブランチ/コミット」を意味します。git checkout <branch>
繰り返しのドキュメント:「@{-N}
構文を使用して、操作を使用してチェックアウトされた最後のN番目のブランチ/コミットを参照できますgit checkout
。」</ p>
の<branch>
引数にはgit checkout
-
、「 '<code>@{-1}'と同義の'<strong>'を指定することもできます。」</p>