2

そのため、私が維持している従来のASPWebアプリのSCMとしてSubversionを使用しています。機能の分岐を使用して、依存関係や長期的な開発がある変更を処理します。

Dev / QAには共有Webサーバーを使用します。ここで、私の質問が出てきます。中央のDevサーバーはトランクの作業コピーであり、機能ブランチからのDevの変更を確認する必要がある場合は、それらをDevにマージします。作業コピー。これまでのところ良いですが、私は将来的に悪いことに自分自身を設定していますか?

たとえば、今日、アナリストは、機能に加えた変更を「削除」してから、デモのためにDevサイトにマージできると言った。機能が強制終了されたからではなく、見る必要がなかったからだ。もうそれ。そして、私はそれを簡単に行うことができないことに気づきました。マージした変更は、Dev作業コピーにローカルの変更として表示されるだけで、簡単に削除することはできません(完全に元に戻すと、関連する変更が強制終了される可能性があるため、影響を受けるファイルへの変更を手動で元に戻す必要があります)その他の機能)。

書くほど、自分の質問に答えたような気がします。ブランチ戦略を変更する必要がありますか?環境ごとにブランチしますか?または、ブランチごとに個別の「共有開発」サイト(dev.mysite.com:4801、dev.mysite.com:4802)が必要ですか?それとも、これはあなたがこれをどのように扱うのですか?

4

1 に答える 1

1

削除する機能が正確かつ完全に1つの特定のリビジョンに含まれている場合、トランクに関連するブランチでは、トランクブランチの作業コピーでその特定のリビジョンの逆マージを実行できるはずです。「svnmerge」コマンドのオプションを見てください。このページによると、次のようなコマンドを発行できるはずです。

svn merge -c -Revision YourDevBranch YourWorkingCopy

これにより、トランクの作業コピーから、ブランチに最初にコミットされた1つのリビジョンが削除されます。

ただし、問題が1つのリビジョンでのみコミットされている複数の機能に関連している場合は、元の開発ブランチであっても、変更を手動で削除するしか選択肢はないと思います。

于 2011-05-15T21:22:18.710 に答える