[解決済み】Gitで元に戻されたマージをやり直す方法
質問
ここでちょっと問題が発生しました。私は、問題固有のブランチ
28s
にマージしたものを、Git の一般的な
develop
ブランチです。そのため、git-revert を使ってマージを元に戻しました。しかし、今まさに
28s
を
develop
しかし、git-merge コマンドは元のマージを認識し、すべてがうまくいき、ブランチはすでにマージされたと喜んでアナウンスしてくれます。どうすればいいのでしょう? Revert "Revert "28s -> develop"" ' というコミットを作成すればいいのでしょうか? 良い方法とは思えませんが、今のところ他に思いつきません。
ツリー構造はどのようなものでしょうか。
解決方法は?
元に戻すには、"revert"する必要があります。元の復帰をどのように行ったかによって、それは言うほど簡単ではないかもしれません。以下のページを見てください。 このトピックに関する公式文書 .
---o---o---o---M---x---x---W---x---Y
/
---A---B-------------------C---D
を許可します。
---o---o---o---M---x---x-------x-------*
/ /
---A---B-------------------C---D
しかし、すべてうまくいくのでしょうか?もちろんです。マージを取り消すことができます。 純粋に技術的な側面から見ると、git は非常に自然にそれを行い、実際のところ何もありませんでした。 のトラブルがありました。
それは、単に "マージ前の状態" から "マージ後の状態"、それだけです。
複雑でもなければ、変でもない。 本当に危険なことは何もない。Gitは何も考えずにそれをやってくれるのです。つまり、技術的な観点から言えば、マージの取り消しには何の問題もないのです。 しかし ワークフローの観点からは、一般に以下のようなことを避けるべきでしょう。 避ける .
可能な限り、例えば、マージされた問題を見つけた場合、その問題は をメインツリーに追加してください。 マージを元に戻すのではなく 本当に 大変 :
- マージしたブランチまで問題を二等分し、それを修正するだけです。
- または、その原因となった個々のコミットをリバートしてみる。
そうですね、より複雑ですし、いつもうまくいくとは限りません(時には という答えが返ってきます。 を元に戻さなければならない。 すべて のマージ")。そうすると 本当はマージを元に戻すべきなのですが、マージをやり直したいときには を元に戻す必要があります。
関連
-
[解決済み] Git で直近のローカルコミットを取り消すには?
-
[解決済み] Gitブランチをローカルやリモートで削除するには?
-
[解決済み] git pull」と「git fetch」の違いは何ですか?
-
[解決済み] コミット前に 'git add' を取り消すにはどうすればよいですか?
-
[解決済み] Git リポジトリを以前のコミットに戻すにはどうすればよいですか?
-
[解決済み] Git リポジトリでのマージの衝突を解決するには?
-
[解決済み] まだプッシュされていない Git マージを元に戻す
-
[解決済み] git rebase の取り消し
-
[解決済み] 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エラー - fatal: マージ中に部分コミットができない
-
[解決済み】Gitマージで「すでに最新」と報告されるが、違いはある
-
[解決済み] あなたのブランチは 'origin/master' より 3 コミット進んでいます。
-
[解決済み] git rebase fatal: 必要なリビジョンは1つです。
-
[解決済み】Git Extensions。Win32 エラー 487: cygwinのヒープ用に領域を確保できなかった、Win32エラー0
-
[解決済み] GitHubに空のブランチを作成する
-
[解決済み] fatal: EOF が早い fatal: インデックスパックが失敗した
-
[解決済み] VSTS Git Fetch Failed with exit code: 128
-
[解決済み] git ls-remote と git ls-remote origin の違い。