git rebaseを使用してコミットメッセージを変更することはできますが、マージ競合を再解決する必要はありませんか?マージ競合を解決せずにgit rewordをもう一度
私は古いレポを振り回す必要があります。実際のコードやメッセージだけを変更する必要はありません。
私は--preserve-merges
を試しました。
git rebaseを使用してコミットメッセージを変更することはできますが、マージ競合を再解決する必要はありませんか?マージ競合を解決せずにgit rewordをもう一度
私は古いレポを振り回す必要があります。実際のコードやメッセージだけを変更する必要はありません。
私は--preserve-merges
を試しました。
"再利用記録解像度"と呼ばれるgitには、あまり知られていない機能があります。
グローバルに有効にするには、git config --global rerere.enabled 1
を実行します。
rerereが有効になっていると、gitは自動的に競合の解決を保存し、同じ競合に遭遇した場合には後で再利用します。これは、以前に見られた競合をユーザーが再解決する必要がないという最終的な結果をもたらします。
この機能の詳細については、a post on git-scm.comで説明します。詳細は、help document for git rerereをご覧ください。
注:contrib/rerere-train.sh
スクリプトを再トレインrerere(あなたがmanual retraining hereを見ることができます)
rerere
はすべて、現在のリベースの解像度を忘れたことを確認することになっているので、あなたが今のGit 2.14.xとの公式のオプションを持っています/2.15(Q3 2017)contrib/rerere-train
の場合:--overwrite
フラグ。
commit ad53bf7(2007年7月26日):Raman Gupta (rocketraman
)を参照してください。
contrib/rerere-train
(にJunio C Hamano --gitster
--によって合併、2017年8月11日)
:必要に応じてユーザに--overwrite
フラグを使用して既存の解像度を上書きするオプションを提供し、既存の解像度を上書きします。
これは、競合のためにエントリがすでにrerereキャッシュにあることがわかっているが、そのエントリを削除して、rerere-cacheに渡されたマージコミットに基づいてリトレインしたい場合などに使用できます。列車のスクリプト。
これは最初にマージしたときに有効になっていれば残念ですが、残念ながらこれは手遅れです。 Gitのソースのcontrib部分に[rerere-trainというスクリプト(https://github.com/gitster/git/blob/master/contrib/rerere-train.sh)というスクリプトがあります。これは既存の歴史を経て再公開されます既存のマージから競合の解決法を学ぶ - それがうまくいくとすれば、それはあなたを助けるだろう。 – Cascabel