4

開発とテストの2つのリポジトリがあります。開発では、テストへの最後のプッシュ以来、いくつかのコミットを行いました。ただし、ここで、これらのコミットをすべて棚上げし、別の変更を加えてテストにプッシュしてから、それらのコミットを元に戻したいと思います。シェルフは、コミットされていないファイルでのみ機能します。

私は何をすべきか?各コミットを逆の順序でバックアウトまたはロールバックまたは元に戻しますか?devの名前を変更し、テストをdevに複製し、変更を加え、テストにプッシュし、名前を変更したdevにプッシュし、devを削除し、名前を変更したdevをdevに戻しますか?

これを行うための最もクリーンで簡単な方法は何ですか?

4

2 に答える 2

3

他の読者にわかりやすくするために、実際のHGシェルフコマンドはこの状況に対する正しいアプローチではありません。すでにコミットされている変更では機能しませんが、この場合は使用する必要もありません。

できることは次のとおりです。

  1. 開発では、テストにプッシュしたくないコミットの前にバージョンに更新します。
  2. devとcommitで必要な変更を加えます。これにより、新しいヘッドが作成されます(これは新しいヒントにもなります)。
  3. テストにプッシュ
  4. 開発では、プッシュを回避した変更を含む他のヘッドとチップをマージしてから、コミットします。

元の提案(この場合は実装できません):

  1. 開発者を新しいリポジトリに複製し、コミットする前にバージョンに更新します(または代わりにクローンテストを行います)
  2. 必要な変更を加え、コミットして、テストと開発の両方にプッシュします
  3. クローンを破棄します
  4. テストをテストから開発に引き出し、自由にヘッドをマージして、もう一度1つのヘッドを確立します
于 2013-01-15T15:44:59.530 に答える
0

別のワークフローは次のとおりです。MQ拡張機能を使用する

于 2013-01-15T17:56:25.070 に答える