0

ここでのSVNに関する以前の支援のおかげで、私はSVNを当社に実装することで前進し始めました。Tortoise SVNを使用していますが、更新を作成するための正しい作業手順について少しわかりません。これはImが現在実行している手順ですが、3つの質問があります(太字で示されています)。

  1. 私が最初にウェブサイトを開発したとき、私はローカルの作業ディレクトリD:\Sites{mywebsite}を作成しました
  2. 私はウェブサイトをリリースし、すべてをトランクにコミットし、バージョン1.0というタグを作成しました
  3. ここでいくつかの更新を作成する必要があるので、{my-branch}という名前のトランクからブランチを作成しました。質問-ブランチを作成するときはいつでも、トランクをローカルの作業ディレクトリにチェックアウトしてから、brancgを使用する必要があります。 Tortoiseの/tagオプション?ローカルの作業コピーがなければ、カメでこれを行う方法はないようです。
  4. switchコマンドを使用して、ローカルの作業ディレクトリをトランクから{my-branch}に変更しました。
  5. ブランチにすべての変更を加えて、満足のいくevrythingが機能しているとしたら、ブランチとトランクをマージする必要があります。質問-ここで何をすべきかわからない-トランクを作業コピー(現在は特定のブランチ)にマージしていますか、それともブランチをトランクにマージしていますか?
  6. 質問-変更をリリースしたら、別のタグバージョン1.1 / 2.0などを作成する必要がありますか?

Aktonの非常に良いフィードバックに基づいて、最後の1つのポイントを明確にするために質問を更新しています。

1)1月1日に、「新しいアップローダーの実装」というブランチを作成します。作業コピーのコードをチェックアウトし、1月20日まで変更を加えます(ブランチにチェックインします)。

2)この間に、2人のチームメンバーが独自のブランチを作成し、変更をリリースして、トランクにマージしました。

3)2月1日にリリースする準備ができました。Aktonのフィードバックで、現在のトランクを作業コピー(私のブランチ)にマージします。問題を解決してから、すべてをブランチにコミットしますか?これには、2人の同僚もブランチにマージした2つのコード更新が含まれます。自分のブランチに他のチームメンバーからの他の更新も含める必要があるかどうかわかりませんでしたか?

4)最後に、ブランチをトランクにマージします。ただし、ブランチはトランクのほぼミラーイメージになりましたが、更新のみが含まれているため、これは非常に単純なはずです。

上記の私の理解が正しければ、私はそれを持っていると思います!

ご協力ありがとうございます。

よろしく、アル

4

1 に答える 1

2

質問-ブランチを作成するときはいつでも、トランクをローカルの作業ディレクトリにチェックアウトしてから、Tortoiseのbrancg / tagオプションを使用する必要がありますか?ローカルの作業コピーがなければ、カメでこれを行う方法はないようです。

いいえ、ブランチを作成するためにローカルコピーは必要ありません。TortoiseSVNの「リポジトリブラウザ」で右クリックメニューから実行できます。詳細については、 http://tortoisesvn.net/docs/release/TortoiseSVN_en/tsvn-dug-repobrowser.htmlを参照してください。

質問-ここで何をすべきかわからない-トランクを作業コピー(現在は特定のブランチ)にマージしていますか、それともブランチをトランクにマージしていますか?

作業コピーの残りの変更をブランチにマージしてから、ブランチをトランクにマージします。目標は、ブランチの変更をトランクに戻すことです。

[編集:次の段落を変更]ただし、実際には、作業コピーがブランチにコミットされた後、トランク->作業コピーを最初にマージし、競合を解決することをお勧めします。特に、それ以降にトランクに多くの変更が加えられた場合はそうです。ブランチが作られました。それが完了すると、作業コピー->ブランチ->トランクマージは単純になり、他の人への影響を最小限に抑えることができます。

質問-変更をリリースしたら、別のタグバージョン1.1 / 2.0などを作成する必要がありますか?

はタグ付け戦略によって異なります。各コミットには、いつでも参照できる一意のリビジョン番号があることに注意してください。タグを使用すると、より人間が理解しやすい名前を使用して、リビジョンをすばやく検索または参照できます。SVNタグのベストプラクティスも参照してください。。

[編集:追加]

3)2月1日にリリースする準備ができました。Aktonのフィードバックで、現在のトランクを作業コピー(私のブランチ)にマージします。問題を解決してから、すべてをブランチにコミットしますか?これには、2人の同僚もブランチにマージした2つのコード更新が含まれます。自分のブランチに他のチームメンバーからの他の更新も含める必要があるかどうかわかりませんでしたか?

はい。変更をブランチにコミットして戻し(ソース管理にバックアップされるように)、変更をメインにマージします。目的は、トランクへのマージがチームの混乱をできるだけ少なくすることを保証することです。事前にブランチからアプリケーションをテストして、すべての変更が意図したとおりに機能し、誤って作成されたバグがないことを確認できます。

于 2012-09-09T13:08:57.310 に答える