2016-08-08 9 views
2

私はgit worktreeを使用していて、別のワークディレクトリでチェックアウトされているブランチをチェックアウトしたいと考えています。私はブランチ自体は必要ありませんが、ブランチに対応するコミットが分離されたHEADとして必要です。 git checkout $(git rev-parse mybranch)は1つの解決策ですが、冗長です(単純な方法が既に存在する場合は別名を追加したくない)。ブランチに対応するコミットを簡潔にチェックする方法はありますか?ブランチに対応するコミットをチェックアウト

答えて

3

としてgit help checkout当たり、直接および非魔法の溶液である:

git checkout --detach mybranch 
1

git checkout mybranch^0またはgit checkout mybranch~0の両方が機能します。

~0は、コミット自体である「第0番目の祖先」を意味します。 ^0は、複数の親を持つコミット(マージコミット)の "第0番目の親"を意味します。私はなぜこれがコミット自体に解決するのか分かりませんが、そうしています。

git checkout <anything that is not just the name of a branch>は、切り離されたHEADとしてコミットをチェックするので、git checkout mybranchではなく、git checkout mybranch~0が機能します。

関連する問題