[解決済み] リモートレポにプッシュされたGitの特定のコミットを元に戻す
2022-03-17 22:17:07
質問
ある特定のコミットを取り消す最も簡単な方法は何ですか。
- headやHEADにない
- リモートにプッシュされました。
なぜなら、それが最新のコミットでない場合。
git reset HEAD
は動作しません。また、リモートにプッシュされているため
git rebase -i
そして
git rebase --onto
を使用すると、リモートで何らかの問題が発生する可能性があります。
もっと言えば、本当は履歴を修正したくないんです。もし悪いコードがあったとしても、それは履歴に残っていて見ることができます。私はただそれを作業コピーから取り除きたいだけで、逆マージコミットは気にしません。
つまり、何が Git 以下のsvnコマンドに相当します。
svn merge -r 303:295 http://svn.example.com/repos/calc/trunk
で、295 から 302 までのリビジョンのすべての変更を逆マージして、新しいコミットとして削除しています。
svn merge -c -302 ^/trunk
は、302 のコミットを取り消します。もちろん、そのコミットからの変更を逆マージする別のコミットを追加することで取り消します。
Gitではかなり単純な操作で、かなり一般的なユースケースであるはずだと思ったのです。アトミックコミットの意義は他にあるのでしょうか?
私たちはステージング 貯蓄 といった具合に、コミットが完全にアトミックであることを保証しています。アトミックなコミットの一つや複数を簡単に取り消すことはできないのでしょうか?
解決方法は?
コミットのハッシュを特定するには
git log
を使用し、次に
git revert <commit>
を実行して、これらの変更を削除する新しいコミットを作成します。 ある意味
git revert
とは逆で
git cherry-pick
-- 後者はパッチがないブランチにパッチを適用し、前者はパッチがあるブランチからパッチを削除します。
関連
-
[解決済み] Git で直近のローカルコミットを取り消すには?
-
[解決済み] コミット前に 'git add' を取り消すにはどうすればよいですか?
-
[解決済み] リモートのGitブランチをチェックアウトするには?
-
[解決済み] Git リポジトリを以前のコミットに戻すにはどうすればよいですか?
-
[解決済み] リモート Git リポジトリの URI (URL) を変更するには?
-
[解決済み] Git ですべてのリモートブランチをクローンする方法
-
[解決済み] まだプッシュされていない Git マージを元に戻す
-
[解決済み] detached HEADとmaster/originの連携はどうすればいいですか?
-
[解決済み] git commitの代わりに行った "git commit --amend "を元に戻すには?
-
[解決済み] 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 stash pop の取り消し
-
[解決済み】GitHubのメッセージの意味: メールのプライバシー制限のためプッシュが拒否されました。
-
[解決済み] LFはgitでCRLFに置き換えられます - それは何ですか、そしてそれは重要ですか?[重複]。
-
[解決済み] TortoiseGitで「git did not exit cleanly (exit code 128)」というエラーを解決するには?[クローズド]
-
[解決済み] SourceTree error:1407742E:SSLルーチン:SSL23_GET_SERVER_HELLO:tlsv1警告プロトコルバージョン
-
[解決済み] Git エラー : 'upstream' は git リポジトリでないようです。
-
[解決済み] Gitのフォルダ構造で変更・追加されたファイルのみをエクスポートする機能
-
[解決済み] リモートブランチにプッシュできない、ブランチに解決できない
-
[解決済み] Git リポジトリを以前のコミットに戻すにはどうすればよいですか?
-
[解決済み] リモートブランチにプッシュ済みのマージコミットをリバートする方法は?