0

私がA--B--C--D--E--F--Gを持っているとしましょう

コミットCには、「水平スクロール機能」があります。後で気が変わって、コミットDで「垂直スクロール」があります。その場合、E、F、Gは、ビューに影響を与えないバックエンドDB移行の変更です。

しかし、今度は水平スクロールにもう一度チャンスを与えることにしました。どうすれば水平スクロールに戻ることができますか?E、F、Gを維持したいので、Cに戻したくありません。マージCを転送したい...Cはこのブランチの履歴にすでに存在するため、マージは正しい用語ではないと思います。Cから現在の作業ディレクトリに特定のファイルをチェックアウトできると思いますが、それは手動のようで、どのビューファイルとcssファイルが変更されたかを覚えておく必要があります。

CとGの間にパッチの違いを生成し、それを現在の作業ディレクトリに適用する方法はありますか?それはうまくいくでしょうか?それ、どうやったら出来るの?

4

1 に答える 1

1

すでに述べたチェリーピック(@titaniumdecoy)の他に、インタラクティブなリベースがありgit rebase -i Cます(つまり、Dがないかのように履歴を書き換える機会があります)。もちろん、すでに履歴を公開している場合(例のように履歴を持つ人がすでにいる場合)、マージの問題が発生します。この場合、Dがgit revert CCの復帰()である場合、チェリーピックが機能する可能性があります。それ以外の場合は、Dを復帰する方がよいでしょうgit revert D

于 2012-07-10T18:38:11.343 に答える