3

わかりました、私はまだこのポップアップをmercurialの複合質問として見たことはありませんが、最近気づいたことです.

開発ソフトウェアの他のリポジトリを見ると、コミットはほとんど「理想的」であるため、目的が関数 f() を修正することであった場合、コミットは単に「f() を --- で修正した」だけです。私のことですが、すべての修正が 1 回のコミットで行われたとは思えません。

私は次のようなものを持っているでしょう

[1:x を f に固定しようとする] -> [2:y を f に固定しようとする] -> [3:z を f に固定しようとする] -> [4:f を固定する]

名前付きブランチの有無にかかわらず、[4:fixed] を「安定した」ブランチにマージしようとすると、変更をプッシュまたはプルするかどうかにかかわらず、[4] だけでなく [1:4] がプルされます。

クリーンな修正をレポまたは本番セットアップにプッシュしたいだけです。テスト以外のすべての変更を共有する最も簡単な方法は何ですか?

4

2 に答える 2

2

を使用したリベース拡張機能--collapse

于 2011-09-21T03:36:11.540 に答える
1

クリーンなチェンジセットのみをプッシュしたい場合は、クリーンなチェンジセットのみを作成してください。複数のローカル変更セットを 1 つに折りたたむこと (Amber の回答) が 1 つの方法です。

私が好む方法は、Mercurial Queues を使用して、パッチでちょっとした作業を行うことです。それが完了したら、パッチを終了し、変更セットになります。

于 2011-09-21T17:24:28.280 に答える