私は約 10 年間、ソース管理システムを使用してきました。
私は現在 .NET 開発に Mercurial を使用していますが、私の目標を最もよく達成するには、あなたの意見がどのようなものか知りたいという特別な要件があります。
ローリングリリースの一種であるベースライン製品を開発します。一部の顧客は、製品のスリム化 (より安価なライセンスを取得するため) またはオーダーメイドの作業を行う必要があります。私は「トランク」(Mercurial のデフォルトのブランチ) を分岐し、オーダーメイドの作業を行い、ビルドを作成する傾向があります。
新しい作業が「トランク」で行われ、別注のブランチから新しいビルドが必要になった場合、変更をマージしてからhg merge -r CHANGESET_NUM_FROM_DEFAULT_HERE
ビルドを行います。
これは問題なく機能しますが、特注のブランチは、実際には特注の機能ではない「トランク」に関連するコミットですぐにいっぱいになります。これは、このブランチの変更セットを調べる必要があるときに、それらが雑然としていることを意味します。
ブランチの「ジャンクションポイント」が始まる場所に本当にシフトしたいので、特注のチェンジリストには特注のチェックインのみが含まれますが、特注のブランチの親は変更されます。
これを行う必要があるように見えるため、リベース拡張機能を使用しようとしましたが、代わりに多くのマージが行われ、特注のブランチが散らかっています。
特注のブランチをきれいに保つ方法はありますか? それとも、私は間違った方法で物事を進めていますか?