[解決済み] Gitのmasterブランチを、別のブランチから完全に置き換えるには?[重複]。
質問
私のGitリポジトリには2つのブランチがあります。
-
master
-
seotweaks
(元々はmaster
)
私が作成した
seotweaks
に素早くマージするつもりである。
master
. しかし、それは3ヶ月前のことであり、このブランチのコードは以下のように13バージョン進んでいます。
master
.
このブランチは、実質的に作業用の master ブランチとなりました。
master
はもう多かれ少なかれ陳腐化しています。
非常に悪い習慣であることは承知していますが、教訓とします。
の内容をすべて置き換える方法をご存知ですか?
master
ブランチと
seotweaks
?
をすべて削除すればいいのですが
master
とマージしますが、これはベストプラクティスとは思えません。
解決方法は?
このように、"ours" マージ戦略を使って、seotweaksでマスターを上書きすることができるはずです。
git checkout seotweaks
git merge -s ours master
git checkout master
git merge seotweaks
その結果、あなたのマスターは本質的にseotweaksになったはずです。
(
-s ours
は
--strategy=ours
)
から ドキュメント ours」戦略について。
これは任意の数のヘッドを解決しますが、マージ結果のツリーは常に現在のブランチのヘッドのものとなり、他のすべてのブランチからの変更は事実上無視されます。これは、サイドブランチの古い開発履歴を上書きするために使用することを意図しています。これは再帰的マージ戦略の -Xours オプションとは異なることに注意してください。
コメントからの更新です。fatalになったら。
refusing to merge unrelated histories
で、2行目を次のように変更します。
merge --allow-unrelated-histories -s ours master
関連
-
gitアップロードの共通エラー処理
-
[解決済み] Git で直近のローカルコミットを取り消すには?
-
[解決済み] Gitブランチをローカルやリモートで削除するには?
-
[解決済み] コミット前に 'git add' を取り消すにはどうすればよいですか?
-
[解決済み] リモートのGitブランチをチェックアウトするには?
-
[解決済み] 現在のGit作業ツリーからローカル(未追跡)ファイルを削除する方法
-
[解決済み] 新しいローカルブランチをリモートの Git リポジトリにプッシュし、それを追跡するにはどうすればよいのでしょうか?
-
[解決済み] Git で最新のコミットを新しいブランチに移動する
-
[解決済み】既存の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マージで「すでに最新」と報告されるが、違いはある
-
[解決済み】未マージファイルがあるため、Gitマージができない
-
[解決済み】GitHubで空のブランチを作成する
-
git revert + git rebase 一度に複数のコミット_本然233的博客程式员息信网_git revert Multiple
-
[解決済み] git が「Pull is not possible because you have unmerged files」と表示するのはなぜですか?
-
[解決済み] 現在のGitブランチをmasterブランチにする
-
[解決済み] masterブランチとorigin/masterが分岐してしまったので、分岐を解除する方法を教えてください。
-
[解決済み] ローカルとリモートの Git リポジトリの master ブランチの名前を変更する
-
[解決済み】Git reset --hard でリモートリポジトリにプッシュする。