Gitリポジトリには、マージされるべきで--no-ff
あったがマージされなかったブランチからのマージがいくつかあります。これらのマージはずっと前に行われました。
--no-ff
引数を使用して古いマージを実行しているかのように、コミットを強制/挿入する方法はありますか?
プロジェクトのスーパーの1人は、GitHubのネットワークビューを楽しんでおり、早送りが発生するとすべてが1つの行にマージされる個々のブランチを表示できるようにしたいと考えていました。
Gitリポジトリには、マージされるべきで--no-ff
あったがマージされなかったブランチからのマージがいくつかあります。これらのマージはずっと前に行われました。
--no-ff
引数を使用して古いマージを実行しているかのように、コミットを強制/挿入する方法はありますか?
プロジェクトのスーパーの1人は、GitHubのネットワークビューを楽しんでおり、早送りが発生するとすべてが1つの行にマージされる個々のブランチを表示できるようにしたいと考えていました。
新しいメイン/マスターブランチを作成してもかまわない場合(または古いブランチを上書きする場合でも、公開された履歴を書き換えることは悪いことです)、まだ覚えている場合は、マージを再作成するだけで済みます。作られました:
最初の忘れられた/存在しない/失われたマージをチェックアウトします。
git checkout -b new_master $commit_before_merge
古いコミットをマージします。適切なマージメッセージ(元のブランチ名を含む)が必要な場合は、古いブランチを一時的に再作成するか、メッセージを手動で編集することをお勧めします。
git merge $head_commit_of_old_branch
次に、コミットを使用するcherry-pick
かrebase
、元のマスターブランチから新しい「mergy」ブランチにコピーする必要があります。(コミット範囲を指定したチェリーピックには、Gitの最近のリリースが必要です)
git cherry-pick $commit_before_merge..$commit_before_next_merge
手順2に戻り、履歴に満足するまで繰り返します。
NB。最初にバックアップを作成し、ローカルクローンでテストします。