8

さて、私はちょうど大きな間違いを犯しました。

私はプロジェクトに取り組んでおり、マスターブランチで働いていると思っていました。
だから私は必要なファイルを追加し、それらをコミットし、オリジンにプッシュしようとしたときに得た

Everything is up to date

使っgit branchてもらった

* (no branch)
* master

そのため、ストレスの中で、保留中の変更を (ブランチなしで) 隠し、マスターをチェックアウトしました。「名前を付けてはならない」ブランチをチェックアウトできないため、すべての変更が失われました。私が持っているブランチをリストするとき

* master
4

1 に答える 1

12

変更がコミットされていれば、変更は失われていません。それらへの名前付き参照がありません。

実行git reflogしてみて、上部にある のような行を探してくださいcheckout: moving from <commit-id> to master。次に、それを使用して一時ブランチを作成し、変更を検査してブランチ<commit-id>に持ち込むことができます。master

git checkout -b temp-branch <commit-id>

このブランチをマージするか、必要なコミットを選択するだけです。

これが役立つことを願っています。

于 2012-08-09T11:16:06.537 に答える