TortoiseSVNを使ってブランチングやマージを行うのは本当に簡単ですか?TortoiseSVNを使って分岐やマージを行う最も簡単な方法は何ですか?
答えて
作業ディレクトリがトランクから取り組んでいると仮定:
は、「ルート作業フォルダ」(この用語は常にWindowsエクスプローラを指します)を右クリックし、最新のトランクにあなたの作業フォルダを更新するsvn update
を行います。
安定していることを確認してください。
ルートワークフォルダを右クリックし、svn commit
を実行して、ローカル変更がトランクにコミットされていることを確認します。
ルートワークフォルダを右クリックし、svn repo-browser
を実行します。
ブランチフォルダをリポジトリにまだ持っていない場合:トランクフォルダのすぐ上のフォルダを右クリックし、「フォルダを作成」してブランチフォルダを作成します(たとえば、トランクがhttp://myserver/svn/MyRepository/MyProj/Trunk
、 http://myserver/svn/MyRepository/MyProj/Branches
を作成してください)。
トランクフォルダを右クリックし、Copy To:
を実行し、ブランチの新しいフォルダ名を入力します。例:http://myserver/svn/MyRepository/MyProj/Branches/MyNewBranch
。 (これはたくさんのスペースを無駄にすることを心配しないでください...これは "安価なコピー"と呼ばれています...実際には変更されない限りファイルの内容はコピーされません)。
閉じるRepo-browser。
作業フォルダのルートを右クリックし、次の操作を行います。svn switch
を入力し、新しいブランチのフォルダ名を選択します(たとえば、http://myserver/svn/MyRepository/MyProj/Branches/MyNewBranch
)。他のすべてはデフォルトのままにしておきます。
ブランチで作業します。マイルストーンを取得したら、ルートワークフォルダを右クリックし、svn commit
を実行してブランチにコミットします。 (これはトランクには見られません)。
他のユーザーが同じブランチで作業している場合は、ルートワークフォルダから定期的にsvn update
を実行します。これはブランチから更新されます。
他の人が同じブランチで作業しているかどうかにかかわらず、ブランチが後で統合するのが難しくないように、定期的にトランクの変更をマージする必要があります。定期的なマージを行うには:作業フォルダのルートを右クリックし、svn merge
を実行します。 [リビジョンの範囲をマージ]を選択します。 [差し替え先のURL]で、トランクを選択します(たとえば、http://myserver/svn/MyRepository/MyProj/Trunk
)。 リビジョン範囲を空白のままにし、それ以外はすべてそのままにします。次へをクリックします。すべてをそのままにして、Mergeをクリックします。すべてが動作することを確認してください...そうでない場合は修正してください。満足したら、ブランチから更新するために、ワークルートフォルダから通常のsvn update
を実行します(これは、SVNを満たすためにブランチで唯一の作業を行っている場合でも必要です)。次に、svn commit
を実行して、マージされたトランクの変更をブランチにコミットします。この手順は、必要な回数だけ定期的に繰り返すことができます。
ブランチを統合する準備ができたら、前の手順1を最後に行い、最終テストを行います。支店への最後のコミットを行います。
ルートワークフォルダを右クリックし、もう一度svn switch
を実行します。今回は、トランクに切り替えます(たとえば、)。これはブランチで行ったすべての作業を本質的に「元に戻す」という効果を持ちますが、心配する必要はありません。作業を取り戻すことができます。 (ブランチで変更していないファイルについても多くの更新が報告されますが、これらは単に "SVNプロパティ"の変更です...)
作業フォルダを右クリックしてくださいsvn merge
を実行します。今回は、「ブランチの再統合」を選択します。 URLの場合は、ブランチに入れます(たとえば、http://myserver/svn/MyRepository/MyProj/Branches/MyNewBranch
)。残りをそのままにして、[次へ]をクリックします。すべてをそのままにして、Mergeをクリックします。今では、ブランチで行ったすべての作業と、トランクからの最新の作業が完了しました。
最終テストを行います。これはブランチでの最後のテストで持っていたのと同じファイルセットでなければならないので、すべてがうまくいくはずです。ルートワークフォルダを右クリックし、svn commit
を実行します。ブランチで作業していないファイルも含めて、すべてをコミットします(SVNのプロパティは変更されましたが、コミットするとSVNはすべてのリビジョンを追跡できます)。
トランクは、ブランチで作業していた間にトランクで行われたすべてのブランチ作業とすべての作業をすべて完了しました。さらに、SVNには、すべてのファイルの完全な履歴、ブランチで作業している間にチェックインされたリビジョンまであります。
オプション:Repo-browserに入り、ブランチフォルダ(たとえば、http://myserver/svn/MyRepository/MyProj/Branches/MyNewBranch
)を右クリックし、「削除」します。これはトランクには何の影響も与えず、ブランチがもう必要ありません。 (実際に編集した場合でも、いつでもRepoブラウザから削除したブランチを元に戻すことができるので、心配する必要はありません)
お気軽にコメントしてください!
- 1. TortoiseSVNをどのように分岐してマージしますか?
- 2. トリガーで否定を行う最も簡単な方法は何ですか?
- 3. Eclipseでカスタムデバッグウォッチを行う最も簡単な方法は?
- 4. 行をアニメーション化する最も簡単な方法は何ですか?
- 5. MacでSASをインストール/実行する最も簡単で簡単な方法は何ですか?
- 6. スカラー2.10で[SI-6976]を回避してプリミティブなコレクションパターンマッチングを行う最も簡単な方法は何ですか?
- 7. GoogleのAPIを使用する最も簡単な方法は何ですか?
- 8. Angular JSで日付ピッカーを使用する最も簡単で簡単な方法は何ですか?
- 9. TensorFlowを使い始める最も簡単な方法は何ですか?
- 10. 最も簡単な方法
- 11. 最も簡単な方法
- 12. タイマーを行う簡単な方法は何ですか?
- 13. オートプレフィクサーを使う最も簡単な方法は?
- 14. Apache + PHPのようなWebサーバーからGroovyを実行する最も簡単な方法は何ですか?
- 15. 春の最も簡単で最も透過的な方法をキャッシングする方法は何ですか?
- 16. OSXでPostgreSQLを設定する最も簡単な方法は何ですか?
- 17. XAMLでScrollViewerをスタイルする最も簡単な方法は何ですか
- 18. RailsでERBを実装する最も簡単な方法は何ですか?
- 19. プロミスをES6でラップする最も簡単な方法は何ですか?
- 20. Javaでカスタムバイナリデータメッセージを設定する最も簡単な方法は何ですか?
- 21. 本番用のmysqlデータベースで複雑なスキーマ更新を行う最も簡単な方法は何ですか?
- 22. mysqlテーブルとPHPからサイトを作成する最も簡単で簡単な方法は何ですか?
- 23. プログラムがQtでシグナルを待つ最も簡単な方法は何ですか?
- 24. Blackberryデバイスでスクリーンショットを撮る最も簡単な方法は何ですか?
- 25. Androidで水平バーを描く最も簡単な方法は何ですか?
- 26. コマンドラインで新しいファイルを作成する最も簡単で簡単な方法は何ですか?
- 27. Pythonでモジュール式の行列反転を行う最も簡単な方法は?
- 28. boost :: statechart :: state_machineをスレッドセーフにする最も簡単な方法は何ですか?
- 29. WPFアプリケーションを配備する最も簡単な方法は何ですか?
- 30. Webサービスを複製する最も簡単な方法は何ですか?
725語はシンプルですか? – RedFilter
私は「シンプル」ではなく「シンプル」ではないと言っています:) – JoelFan
これはとても役に立ちました、ありがとう! – Funka