0

これは、Git の経験がある人にとっては簡単な質問かもしれませんが、言葉をググると、GitHub へのプッシュに関する問題に関するページが常に表示されます。私は正反対の問題を抱えています: プッシュしてはいけないものをプッシュしました。

GitHub でオープンソース プロジェクトのパブリック リポジトリをフォークし、そのローカル クローンを作成して作業し、GitHub のフォークしたリポジトリに変更をコミットしてプッシュしました。

どういうわけか、GitHub の diff が完全に台無しになり、700 行が追加され、700 行が削除されたので (おそらくインデントのため)、行ったプッシュをキャンセルし、インデントに注意して変更をやり直して、もう一度 commit&push したいと思います。クローンされたときのフォークされたリポジトリの元のバージョンに

何十回も試行錯誤し、得たさまざまな結果をお邪魔するつもりはありません。問題は、この問題が発生した場合、どのように解決しますか?

ありがとうドゥッチョ

4

3 に答える 3

3

コミットをリストせずに正確な行を提供することはできません。ただし、強制的にプッシュして元に戻します。

git push -f origin oldcomitSHA1:branchname

ああ、ところで、あなたが後にしたすべてのことは事態を悪化させる可能性があります。私がどうやって知っているのか私に聞かないでください。

于 2012-05-10T16:16:59.940 に答える
3

git push --force originローカルリポジトリの正しい状態から実行するだけです。

于 2012-05-10T16:09:39.357 に答える
3

ローカルリポジトリを正しい状態にする場合(おそらく、問題のあるコミットを削除するためのインタラクティブなリベース?)、GitHubに強制的にプッシュできるはずです。

git push -f origin <branchname>

于 2012-05-10T16:09:49.217 に答える