早送りのマージを元に戻す
2023-07-09 06:24:25
質問
git リポジトリにいくつか変更を加えてしまったのですが、元に戻したいです。
私の git repo はこのようなものでした。
A-B---- master
\ /
C-D * develop
私は、その時
develop
ブランチと異なることを忘れていました。
master
ブランチと異なることを忘れていて
develop
ブランチに変更を加え、それを
master
にマージし、リモートにプッシュしました(名前は
publish
).
masterではB(共通の祖先)以降の変更がなかったので、gitはfast-forward mergeを行いました。
さて、私のレポはこのようになりました。
A-B-C-D master, develop, remotes/publish/master, remotes/publish/develop.
前回のマージを元に戻したかったので
master
をBに戻したいと思います。
を読んだ限りでは
Git で最後のコミットを取り消すには?
で、私は
git reset sha-of-B
を復元するために
master
ブランチをリビジョン B にリストアします。
質問です。
-
リストア方法
develop
をリビジョン D に戻すにはどうしたらよいですか。 - その後、これらの変更をリモート/パブリッシュに戻すにはどうすればよいですか?
どのように解決するのですか?
master ブランチをリセットすると、develop ブランチには触れなくなります。全て順番にreputするためには、以下のようにします。
git checkout master
git reset --hard sha-of-B
git checkout develop
git reset --hard sha-of-D
git checkout master
git merge develop --no-ff
関連
-
[解決済み] Git で直近のローカルコミットを取り消すには?
-
[解決済み] コミット前に 'git add' を取り消すにはどうすればよいですか?
-
[解決済み] Git リポジトリでのマージの衝突を解決するには?
-
[解決済み] まだプッシュされていない Git マージを元に戻す
-
[解決済み] 現在のGitブランチをmasterブランチにする
-
[解決済み] detached HEADとmaster/originの連携はどうすればいいですか?
-
[解決済み] Gitのプッシュを正しく強制する方法は?
-
[解決済み] リモートレポにプッシュされたGitの特定のコミットを元に戻す
-
[解決済み] 間違ったGitブランチにコミットしてしまった場合の対処法
-
[解決済み】Gitのワークフローとrebaseとmergeの質問
最新
-
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のコンフリクト:マージする前に変更をコミットするかstashする。
-
[解決済み] Git で直近のローカルコミットを取り消すには?
-
git push please tell me who you are or git fatal: empty ident name (for <>) not llowed.
-
[解決済み] シングルブランチクローンを「元に戻す」方法は?
-
[解決済み] gitでコミット間を前進・後退させる方法は?
-
[解決済み] git diff を stdout に書き出すには?
-
[解決済み] Gitブランチの名前をローカルとリモートで変更できますか?重複
-
[解決済み] 別のユーザーでコードをコミットするにはどうすればよいですか?
-
[解決済み] Git Repo から既存のファイルを削除する
-
[解決済み] どのブランチとマージしたいかを言わずにpullするように言われました。