git reset --hard を使用した後に変更をプッシュすることができない
2023-10-29 12:38:59
質問
私はある間違いを犯し、コミットすべきではない変更をgitにコミットしてしまいました。 コミットした後、私は自分の変更をプッシュしました。 その後、私は私の変更をリセットしようとするために次のコマンドを使用しました。
git reset --hard head
さて、この「リセット」をこのコマンドでリモートリポジトリにプッシュしたいと思います。
git push MyBranch
しかし、このようなエラーが発生します。
remote: error: denying non-fast-forward refs/heads/branch (you should pull first)
このコマンドで試してみましたが、成功しませんでした。
git push -f "origin"
何かいい方法はないでしょうか?
どのように解決するのですか?
git push -f origin myBranch
は動作するはずです (ただし、MyBranch が他のユーザーによってすでに自分のリポジトリに取り込まれている場合は危険です)。
注意: リモートリポジトリ ('origin') がその コンフィグ で設定されている場合
receive.denyNonFastForwards true
を指定すると、早送り以外のプッシュを拒否します (強制されても)。
" を参照してください。
git push --force' を拒否するように git リポジトリを設定する方法はありますか?
"を参照してください。
は OPユーザー654019 の報告
<ブロッククオート
今回、なんとか解決したのは
denyNonFastForwards
を
false
を使用し
-f
を使って強制的にプッシュします。
OPがレポにアクセスできなかったら
-
ローカルの HEAD を元の位置にリセットします (" を参照)。
から回復する
git reset --hard?
")となります。
git reset HEAD@{1}
-
を作る
新しい
で説明されているように、マージをキャンセルするコミットを行います。
ProGitブック
で説明されています。
git revert
:
git revert -m 1 HEAD~
(あなたの場合)
例によって
$ git revert -m 1 [sha_of_C8]
Finished one revert.
[master 88edd6d] Revert "Merge branch 'jk/post-checkout'"
1 files changed, 0 insertions(+), 2 deletions(-)
<イグ
マージを元に戻す方法に関する完全な議論は、以下のとおりです。 はここにあります。 .
のみを生成することに変わりはありません。
新しい
コミットのみを生成し、マージコミットによってもたらされた変更を取り消すこともできます。
そして、その新しいコミットを早送りの変更としてプッシュすることができます。
関連
-
[解決済み] Git が追跡したファイルを .gitignore に登録したまま「忘れる」ようにするにはどうしたらいいですか?
-
[解決済み] Git で、ステージされていない変更を破棄するにはどうしたらいいですか?
-
[解決済み] Git でブランチからコミットを削除する
-
[解決済み] Git フェッチ リモートブランチ
-
[解決済み] リモートにないトラッキングブランチを削除
-
[解決済み] Git のブランチの一覧を最新のコミット順に表示するにはどうしたらよいですか?
-
[解決済み] detached HEADとmaster/originの連携はどうすればいいですか?
-
[解決済み] Gitのプッシュを正しく強制する方法は?
-
[解決済み] プッシュ後に git のコミットメッセージを変更する (誰もリモートからプルしていないと仮定した場合)
-
[解決済み】ブランチを指定せずにgit pushした場合のデフォルトの動作
最新
-
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 commit コマンドで追跡した新規ファイルをコミットすると、プロンプト *** Please tell me who you are が表示されます。
-
gpg: "xxx" をスキップ: 秘密鍵のための1つの解決策が利用できない
-
Git がエラーを報告しました。現在のブランチの先端が遅れているため、更新が拒否されました。
-
コミットメッセージが空だったため、コミットを中止する git commit
-
[解決済み] git reset --hard から回復しますか?
-
[解決済み] .gitignoreで特定のファイルを除外する
-
[解決済み] Git: リモートブランチの情報を更新する
-
[解決済み] Git のプッシュが "non-fast-forward" で拒否されました。
-
[解決済み] どのブランチとマージしたいかを言わずにpullするように言われました。
-
[解決済み] ファイル変更時のDockerコンテナの再構築