76

EGit が再び攻撃します。私は EGit で別のブランチに切り替えようとするのを間違えましたが、どういうわけか台無しになり、ブランチをチェックアウトしませんでした。次に、この非ブランチにコミットしましたが、正しいブランチを追跡していないことに気付いたとき、次を実行しました。

$ git checkout issue2
Warning: you are leaving 1 commit behind, not connected to any of your branches:

    bada553d My commit message

If you want to keep them by creating a new branch, this may be a good time to do so with:

    git branch new_branch_name ....

Branch issue2 set up to track remote branch issue2 from origin.
Switched to a new branch issue2. 

物事を台無しにしたので、そのコミットを現在のブランチに関連付けるにはどうすればよいですか? まったく新しいブランチを作成することに興味はありません。そのコミットを自分のブランチに取り込みたいだけですissue2

4

3 に答える 3

127

git cherry-pick bada553dそれが1つのコミットだけであれば可能です。

reflog を使用して、行ったことのある場所を参照することもできます。

git reflog

次に、これらのコミットのいずれかを使用します。

git checkout -b temp HEAD@{3}

チェックアウトして、現在のコミットが3「回」前の場所から一時的なブランチを作成します。それはあなたがかつていた場所のパンくずです。

于 2013-01-16T19:05:17.283 に答える
0

git reflogまた、コミットのハッシュがわかっているときに使用した後、タグをコミットに適用することもできます。

 Git tag <tag's_name>  <commit's_hash>/HEAD@{<commit's_num>} 
于 2021-09-02T19:40:54.187 に答える