[解決済み] 前回の git マージの後に git rebase を行う
2023-05-02 13:07:27
質問
次のような状況です。
-
を作成しました。
clone
(Y) を作成しましたが、Y には多くの人が関わっていたのでrebase
をせず、ただmerge
s. 配信したいとき(push
) Y を X に届けたいときはrebase
を行いたい。
問題は
rebase
を実行するときに、前の
merge
ステップで既に行ったすべてのマージを行うよう求められます。これに対する解決策は、実際にマージをやり直すということ以外にありますか?
競合するマージをすでに解決しているので、かなり簡単だと予想していました。
どのように解決するのですか?
履歴をきれいにするためにリベースを行うことは、過大評価です。 歴史を保存したい場合、最良の方法は、リベースの代わりにマージを行うことだけです。 そうすれば、あるリビジョンに戻る必要がある場合、そのリビジョンは まさに と同じになります。 また、以前に解決したマージの競合についての問題も解決されます。
履歴の保存を気にしないのであれば、master から新しいブランチを作成し、それをチェックアウトした後に
git read-tree -u -m dev
を実行して作業ツリーを更新し
dev
ブランチと一致するように作業ツリーを更新します。 そして、すべてをひとつの大きなコミットとしてコミットし、通常どおり master にマージすることができます。
関連
-
Git学習まとめ(2)コミットには何も追加されていないが、未追跡のファイルは存在する
-
[解決済み] Git で直近のローカルコミットを取り消すには?
-
[解決済み] Gitブランチをローカルやリモートで削除するには?
-
[解決済み] git pull」と「git fetch」の違いは何ですか?
-
[解決済み] コミット前に 'git add' を取り消すにはどうすればよいですか?
-
[解決済み] Git リポジトリを以前のコミットに戻すにはどうすればよいですか?
-
[解決済み] Git リポジトリでのマージの衝突を解決するには?
-
[解決済み] git rebase の取り消し
-
[解決済み】"git pull" でローカルファイルを強制的に上書きするには?
-
[解決済み】ローカルの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 pull エラー: .git/FETCH_HEAD を開けない: パーミッションが拒否されました。
-
gpg: "xxx" をスキップ: 秘密鍵のための1つの解決策が利用できない
-
Git学習まとめ(2)コミットには何も追加されていないが、未追跡のファイルは存在する
-
Git はファイル名の大文字と小文字を無視し、修正する
-
[解決済み] Gitを使って最後のXコミットをまとめる
-
[解決済み] gitにもsvnのような無視コマンドはありますか?
-
[解決済み] なぜGitでコミットする前にステージが必要なのですか?
-
[解決済み] IntelliJのShelveとGit stashの違いは何ですか?
-
[解決済み] Git: リモートブランチの情報を更新する
-
[解決済み] Git の 'master' ブランチを 'release' にリネームするには?