[解決済み] マージコミットを挟んだコミットを潰すには?
2023-02-19 16:50:14
質問
私は機能ブランチで作業しています。
- いくつかのコミットを行いました。コミットを潰しました。
- 変更をリモートブランチにプッシュしました。コンフリクトが発生しました。
-
master からの変更をマージし、feature ブランチでのコンフリクトを解消しました。
-
git fetch origin master
-
git merge FETCH_HEAD
- コンフリクトを手動で解決しました。
-
git commit
-
git push
-
- もう一回コミットしました。
- コミット 3
- コミット M yyy (マージ)
- コミット 2
というわけで、現在のコミット履歴はこんな感じです。 現在のものから古いものへ。
feature ブランチを master にマージする前に、上記の 3 つのコミットを 1 つにまとめるにはどうすればよいですか?
どのように解決するのですか?
以下の方法があります。
rebase -i
で始まる
commit 2
の親コミット(すなわち
master
のコミットです。おそらく、マージコミットまでたどり着いたときにコンフリクトを再解決する必要があるでしょう。
ですから、もしあなたの歴史が次のようなものであれば
* D commit 3 (HEAD)
* M merge
/|
| * C commit 2
* | B commit on master
|/
* A (master)
で始める
git rebase -i A
. の両方を含むコミットのリストが表示されます。
master
と
your_branch
を含むが、マージコミットは含まない。
pick
は、最初のもの (
B
または
C
タイミングによっては) と
squash
となります。
関連
-
[解決済み] Git で直近のローカルコミットを取り消すには?
-
[解決済み] コミット前に 'git add' を取り消すにはどうすればよいですか?
-
[解決済み] 既存の、プッシュされていないコミットメッセージを修正するには?
-
[解決済み] Git リポジトリを以前のコミットに戻すにはどうすればよいですか?
-
[解決済み] まだプッシュされていない Git マージを元に戻す
-
[解決済み] Gitを使って最後のXコミットをまとめる
-
[解決済み] 現在のGitブランチをmasterブランチにする
-
[解決済み] リモートにないトラッキングブランチを削除
-
[解決済み] detached HEADとmaster/originの連携はどうすればいいですか?
-
[解決済み】2つの辞書を1つの式でマージする(辞書の和をとる)には?)
最新
-
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プロセスが実行されているようです...」と表示される問題
-
undefinedmaster -> master (non-fast-forward) と git ! [拒否] master -> master (フェッチファースト)
-
git pull エラー: .git/FETCH_HEAD を開けない: パーミッションが拒否されました。
-
git reset --hardとgit reset --softの違いについて
-
git push issues
-
git reports an error fatal: unable to auto-detect email address (got 'Administrator@MS-20180504MMDH.(none)')
-
[解決済み】Gitのマージコミットをリベースする
-
[解決済み】1つのブランチから別のブランチへのチェリーピックの方法
-
[解決済み] 現在のブランチにあるファイルをメインブランチにある同じファイルに上書きしますか?
-
[解決済み] SourceTreeを使用して、ビットバケット上にレポを作成せずに、ローカルレポをビットバケットにプッシュするにはどうすればよいですか?