[解決済み] リモートを特定のコミットにリセットする
質問内容
コミット後に行われた変更をすべて破棄したい
<commit-hash>
.
そこで、私はこうしました。
git reset --hard <commit-hash>
今度は、私のリモートで同じことをしたいのです。どうすればいいのでしょうか?の後に、いくつかのコミット(とプッシュ)を行いました。
<commit-hash>
で、それらをすべて破棄したいのです。ただ、何かが
恐ろしく
ってな感じで、もうこれ以上悪くしたくないんです。
基本的に巻き戻したいのは
origin/master
から
<commit-hash>
解決方法は?
という名前のブランチがあると仮定します。
master
という名前になっており、リモートは
origin
ができたんですね。
git reset --hard <commit-hash>
git push -f origin master
しかし、他の誰かがあなたのリモートリポジトリで作業しており、あなたの変更を引き出している場合は、この方法を避けるべきです。 そのような場合は 復帰 を削除し、通常通りプッシュします。
アップデートする あなたがプッシュした変更を他の人がプルしたと下で説明しているので、それは これらの変更をすべて取り消す新しいコミットを作成する方がよいでしょう。 . このオプションについては、以下のサイトで詳しく説明されています。 Jakub Narębskiの回答です。 . どれが一番便利かは、リバートしたいコミットの数と、どの方法が一番理にかなっているかによります。
ご質問の内容からすると、すでに
git reset --hard
をリセットするために
master
ブランチを使用する場合は、まず
git reset --hard ORIG_HEAD
を実行して、ブランチを元の場所に戻してください。 (いつもと同じように
git reset --hard
を使用する必要があります。
git status
がクリーンであること、そして正しいブランチにいること、そして
git reflog
は、明らかに失われたコミットを回復するためのツールです)。 また
ORIG_HEAD
は正しいコミットを指しており
git show ORIG_HEAD
.
トラブルシューティングを行います。
のようなメッセージが表示された場合、「" ! [remote rejected] a60f7d85 -> master (pre-receive hook declined) "
の場合、特定のブランチに対してブランチ履歴の書き換えを許可する必要があります。例えばBitBucketでは、"Rewriting branch history is not allowed"と表示されました。というチェックボックスがあります。
Allow rewriting branch history
をチェックする必要があります。
関連
-
[解決済み] コミット前に 'git add' を取り消すにはどうすればよいですか?
-
[解決済み] リモートのGitブランチをチェックアウトするには?
-
[解決済み] 既存の、プッシュされていないコミットメッセージを修正するには?
-
[解決済み] Git リポジトリを以前のコミットに戻すにはどうすればよいですか?
-
[解決済み] まだプッシュされていない Git マージを元に戻す
-
[解決済み] Git のローカルコミットを破棄する
-
[解決済み] 現在のGitブランチをmasterブランチにする
-
[解決済み] detached HEADとmaster/originの連携はどうすればいいですか?
-
[解決済み] git のコミットを削除しても、変更は維持できますか?
-
[解決済み] Git で最新のコミットを新しいブランチに移動する
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】複数のgitコミットを元に戻すには?
-
[解決済み】Git, fatal: リモートエンドが予期せずハングアップしました。
-
[解決済み】git rev-parseは何をするのですか?
-
[解決済み】git-mergeの-dry-runオプションはありますか?
-
[解決済み】ローカルに変更があるにもかかわらず、git pushが「すべて最新」と言う
-
[解決済み] [email protected] へのいくつかの参考文献のプッシュに失敗しました。
-
git commit リモートエラー [rejected] master -> master (フェッチファースト)
-
[解決済み] 無効なVCSルートマッピング - 私のプロジェクトで3つのエラーが発生しました。
-
[解決済み] GIT_DISCOVERY_ACROSS_FILESYSTEM が設定されていない。
-
[解決済み] SourceTree error:1407742E:SSLルーチン:SSL23_GET_SERVER_HELLO:tlsv1警告プロトコルバージョン