1

私はVCSを初めて使用し、自分の状況でBazaarを使用する方法を理解しようとしています。私の状況は、ライブ Web サイト (例: www.mysite.com) とステージング/開発サイト (例: dev.mysite.com) で構成される Web サイトで作業している単独の Web 開発者です。私は実際にはコマンド ライン タイプの人間ではないので、Bazaar Explorer を使用しています。1 台のメイン コンピューターで作業し、ファイルを FTP で Web サーバーにアップロードします。ローカルの Windows コンピューターに Bazaar をインストールしています。

まず、ローカル コンピューターに Bazaar プロジェクトを作成しました。Bazarr のドキュメントでは、これが小規模なプロジェクトに最適であると書かれているため、デフォルトの「フィーチャー ブランチ」オプションを使用しました (ただし、ドキュメントを読んでもワークスペース モデルの違いを完全には把握していません)。これにより、trunk と .bzr というサブフォルダーを含むフォルダー (_Source Control と呼びます) が作成されました。すべてのプロジェクト ファイル (つまり、Web サイト ファイル) をトランクにコピーし、最初のコミットを行いました。

私の最初の質問は、これらのファイルを直接操作する必要があるのか​​、それとも別のブランチを作成して作業する必要があるのか​​ということです。

このワークフローは賢明なアプローチですか、それとも明らかにより良い方法がありますか?:

  • メイン トランク内のいくつかのファイルで作業する
  • エラーや機能などをチェックするために、更新されたファイルをステージング サイトに FTP 送信します。
  • 特定の機能を完了した時点で、変更をコミットします。
  • bzr-upload プラグインを使用して、ライブ Web サイトに最新のリビジョンをアップロードします。

では、最新の更新で問題が発生したことがわかり、Web サイトを以前のリビジョンにロールバックしたい場合、どのように対処すればよいでしょうか? このようなものですか:

  • Bazaar で以前のバージョンに戻す
  • bzr-upload プラグインを使用して、このリビジョンをライブ Web サイトにアップロードします
  • 次に、問題の修正に取り組むことができるように、どうすれば最新バージョンに戻すことができますか? これは、ブランチが必要な場所ですか?
  • 問題を修正するためにファイルを再度更新したら、コミットを実行し、bzr-upload プラグインを使用してライブ Web サイトに最新のリビジョンをアップロードします。

最後の質問ですが、Checkout は私の状況に関係がありますか?

4

2 に答える 2

2

Bazaar ExplorerのFeature branchesオプションは、いわゆる共有リポジトリtrunkとその内部で呼び出される単一のブランチ(リポジトリ ツリーと呼ばれる) を作成します。あなたの例では:

  • _Source Control==共有リポジトリ
  • _Source Control/trunk==リポジトリツリー

このセットアップでは、 の隣に複数のブランチを作成できtrunk、簡単に言えば、共有リポジトリで内容を共有することにより、リビジョン データを効率的に保存できます。

あなたが初心者なら、ブランチについて心配する必要はありません。ある時点で、それはおそらく自然にあなたに来るでしょう。たとえば、実験的なことをしたいが、トランクを台無しにしたくないことに気付いたとします。明らかな解決策は、ブランチを作成することです。

ワークフローについて:

  • bzr uploadステージングサイトとライブサイトの両方でプラグインを使用できると思います。

  • ライブ サイトを以前のバージョンにロールバックするには、ロールバック先のリビジョンのbzr upload -rREV --overwrite場所を使用します。REVそこを使う--overwriteと汚れそうになりそうです。しかし、それが私にとって唯一の方法です。プラグインの私のバージョンのバグだと思います(1.0.1dev)。最初にそのフラグなしで試すことをお勧めします。

  • バグを修正するには、ローカルでロールバックする必要はありません。バグを修正して確認し、他のフラグを付けずに再度アップロードしbzr uploadて、Web サイトを最新バージョンにします。

Bazaar で作業する方法はたくさんあります。美しく洗練されたワークフローを実装することも、このやや汚いがシンプルで理解しやすいワークフローを使用することもできます。さらに問題がある場合はお知らせください。

checkoutいいえ、説明したセットアップでは必要ありません。

于 2013-06-20T19:11:09.407 に答える
2

Bazaar では、単一のブランチはプロジェクト ファイルの線形履歴です。プロジェクトの複数のバージョンで同時に作業したい場合、すぐに複数のブランチが必要になります。これは、複数の開発者が関与している場合に当然のことですが、1 人のプロジェクトにも役立ちます。

たとえば、メイン ブランチでバグ修正を追加、テスト、展開しながら、機能ブランチの一部として新しい機能を開発し続けることができます。機能が完成したら、メイン ブランチにマージして戻すことができます。同様に、メインのコードベースの一部として持ちたいかどうかわからない何かを試してみたい場合は、そのための実験的なブランチを用意することをお勧めします。

単純なプロジェクトの場合、メイン ブランチが 1 つあれば十分かもしれません。

あなたが説明する「問題」のシナリオに対処するには、まず、あなたが持っている最後の作業リビジョンを取得します。これを実現するには、いくつかの方法があります。

  • bzr checkout特定のブランチとリビジョンの新しいチェックアウトを別の作業ディレクトリに作成するために使用できます。これで、古いバージョンを含むディレクトリと新しいバージョンを含むディレクトリが作成されます。
  • bzr branchbzr checkoutこの目的とほぼ同じことを行いますが、指定されたリビジョンに基づいて、新しいディレクトリに独立したブランチも作成します。これは、前述のように、古いバージョンと新しいバージョンの両方で同時に作業する必要がある場合に便利です。
  • bzr update現在のディレクトリを別のリビジョンに切り替えるために使用できます。その後、古いバージョンをデプロイして、bzr updateもう一度使用して最新のバージョンに戻すことができます。
于 2013-06-20T17:20:45.407 に答える