3

新しい機能の開発をデフォルトで行うか、Webサイトプロジェクトの機能のためだけに作成されたまったく新しいブランチを行ったとします。機能をライブWebサイトにプッシュするときが来たら、それをライブブランチに移動し、次にhg archiveapacheディレクトリに移動します。

すべてを通して、ライブブランチに公開する準備がまだ整っていない他の無関係な変更をプッシュしないように絶対にしたいと思います。

  1. これもいい考えですか?それとも私はまったく違うことをするべきですか?

  2. コードがデフォルトの場合、必要なものを1つだけプッシュ、すべてをプッシュするのはどうすればよいですか?最新のチェンジセットだけをプッシュする場合、それらのファイルの最新バージョンを送信するのに十分賢いですか、それともチェンジセットのみを実行しますか?

  3. コードがまったく新しいブランチにある場合、ブランチ全体をライブにマージしますか?これらの変更をデフォルトのブランチに戻して、そこにも表示されるようにするにはどうすればよいですか?

  4. Mercurial Kick Startガイドの「タスクベースの管理」セクションを読んでいて、デフォルトをブランチにマージすることについて言及しています。私はこれが非常に紛らわしいことに気づき、なぜあなたがこれをするのか疑問に思いました。

あなたたちが提供できるどんな助けにも感謝します。

[編集]TortoiseHGBTWを使用しています[/編集]

4

1 に答える 1

3

HG にPhasesが追加されました。変更セットのフェーズをシークレットに変更すると、プッシュを使用してもプッシュされません。TortoiseHG GUI を使用して実行できます。

それに加えて、何かをプッシュまたはプルするだけでは、作業ディレクトリ内のファイルが自動的に変更されないことに注意してください。いくつかの追加の変更セットが利用可能になるだけです。update を使用することによってのみ、作業ディレクトリ内のファイルを実際に変更できます。(自動的に更新するように hg を構成しない限り)。

リンクした例では、デフォルト ブランチにバグ修正があります。Bob は自分のブランチにもこの修正を加えたいと考えているため、デフォルト ブランチを自分のブランチにマージします。これは、分岐がどのように機能するかを確認するための単なる例です。まったく同じように使用する必要はありません。Mercurial の冒険を始めたばかりの場合は、さらに使用する正当な理由ができるまで、1 つのブランチのみを使用することをお勧めします。

例: 3 人の開発者が同じプロジェクトに取り組んでおり、全員が 1 つのブランチのみを使用しています (デフォルト)。開発者の 1 人が、コードの大規模なリファクタリングを行いたいと考えています。彼はいくつかの非常に不安定な変更セットをコミットしたいと考えています (多くは「作業の途中」です)。デフォルトのブランチでこれを行うと、他の開発者を混乱させる可能性があります。これが、ブランチを作成する正当な理由です。彼のバージョンが十分に安定した後、彼は自分のブランチをデフォルトにマージします。彼は自分のブランチで開発を行っている間、他の開発者と最新情報を共有したいと考えているため、頻繁に default を自分のブランチにマージしています。別のブランチに長時間滞在すると、マージが困難になる可能性があります。幸いなことに、HG ではマージが非常に高速なので、頻繁にマージします。

于 2012-07-13T18:39:05.367 に答える