基本的に、私はすでにマスターブランチで作業しており(別のブランチにチェックアウトしていませんでした)、 git add を実行した後です。そして git commit を行った後、誤って git checkout master を実行してしまいました。現在、git push を実行すると、すべてが最新であると表示されます (ただし、もちろんそうではありません)。かなり奇妙なものです。
1 に答える
4
すでにマスターにいて、 git checkout master を実行しても何も起こらないため、質問に含まれていない何かを実行したに違いありません。
gitk --all を実行します。ローカル マスターまたはオリジン/マスターのいずれかにコミットが表示されますか? そうでない場合は、git reflog を実行してコミットを探します。おそらく、切り離された HEAD 状態にあったため、コミットがどのブランチにも保存されませんでした。その場合、 master がチェックアウトされていることを確認し、 git cherry-pick を実行してください。
最悪のシナリオは、コミットしたと思っていたのにコミットしておらず、master をチェックアウトしたと思っていたのに、編集したファイルを実際にチェックアウトしたため、変更が git に保存される前に上書きされてしまった場合です。reflog に何も表示されない場合は、おそらくそのようなことが起こっています。
于 2011-06-04T17:44:05.000 に答える