0

探索的でバグのある変更セットをローカルにコミットしました。バグは次のローカル コミットで修正されています。今、デバッグされたバージョンをプッシュしたいのですが、バグのあるローカルコミットをスキップする方法で。これを簡単に行う方法はありますか。

4

3 に答える 3

3

簡単な答え:いいえ。

長い答え:最近のコミットのチェーンをプッシュから除外することはできますが、プッシュするときにチェーンの一部を見逃すことはできません。これは、Mercurialがコミットの時点で行った変更を追跡し、最新の変更セットがバグのある変更セットのコンテキスト外ではおそらく意味をなさないためです。

オプション:

  1. 将来この問題を回避するために、 MQ拡張機能の使用を推奨する人もいます。
  2. MQ拡張機能を使用して両方のチェンジセットを取り除き、修正されたバージョンのみを再コミットすることをお勧めする人もいます。これは、特にチェンジセットを誰かと共有している場合に、問題を引き起こす可能性があります。
  3. 一部の人々(私を含む)は、リポジトリをそのままにして、両方のチェンジセットをプッシュすることをお勧めします。あなたがそれを修正しなければ、バグのあるチェンジセットには恥があるだけです。
于 2012-11-13T13:08:25.997 に答える
1

4 一部の人々 (私を含む) は、プッシュの前に 2 つの連続する変更セットを 1 つに折りたたむために MQ 拡張機能を使用することをお勧めします

5 プッシュする前に、連続する 2 つの変更セットを 1 つに折りたたむために histedit または colapse 拡張機能を使用することを推奨する人もいます。

于 2012-11-13T13:59:32.637 に答える
1

これを試すことができます:

  • 実行したいコミットをパッチとしてエクスポートします
  • 新しいディレクトリにリポジトリを再クローンします
  • パッチを適用する
  • ここで、共有リポジトリに対して単一のコミットを実行します
于 2012-11-13T14:04:05.080 に答える