6

私は自分のアプリを台無しにしてしまい、

git checkout <commit number>

私がいたい場所に戻るために。

git status を実行すると、

 Your branch is behind 'origin/master' by 5 commits, and can be fast-forwarded.

私は最新のコミットから5日目にいると思います。最新のコミットから 5 番目を最新のものにする方法はありますか? 最初の 4 つのコミットからすべてをオーバーライドまたは破棄するにはどうすればよいですか?

アップデート。

私はやった

git reset --hard <commit number>

しかし、どうすれば自分のリポジトリにプッシュできますか? それは言う...

To prevent you from losing history, non-fast-forward updates were rejected

私はマージを実行したくありません。最近の 4 つのコミットを一掃したいのです。

ありがとう

4

3 に答える 3

5

-f次のオプションを使用して、いつでもプッシュを強制できます。

git push -f origin master

もちろん、これは歴史破壊するので注意してください。

また、リモート名とブランチ名の両方を必ず指定してください。指定しないと、デフォルトで git がすべてのブランチを指定された (または上流の) リモートに強制的にプッシュしようとするためです。

于 2012-04-30T01:18:31.713 に答える
1
git checkout ORIG_HEAD

最後にチェックアウトした後の場所に戻るはずです。

それでも解決しない場合は、 もチェックしてくださいgit reflog。最近のリベース、チェックアウトなどのリストが表示され、元に戻したいコミットの SHA を見つけることができます。

于 2012-04-30T00:55:22.903 に答える
1
git reset --hard <commit number>
于 2012-04-30T00:57:52.027 に答える