私は十分に確立されたソフトウェアツールキットを持っていますが、それはしばしば小さな調整を必要とします(主にサードパーティ製品からの互換性の問題に対処するために)。元のバージョンに基づく「新しい」バージョン(改良されたAPI)を作成したいと思います。これは時間の経過とともに既存のブランチから分岐しますが、数年間は元の「ライブ」を維持する必要があります。互換性のためにそれを必要とする既存の顧客。もちろん、「微調整」が「新しい」バージョンにも適用されることを確認する必要があります。そのような問題は(ほとんどの場合!)「新しい」バージョンにも適用されるためです。
つまり、私の理想的な(単純な)ワークフローは次のようになります。
- 「新しい」バージョンで作業する場合-変更はそのバージョンにのみ適用されます。
- 「古い」バージョンで作業している場合、結果として生じるすべての変更は、満足したら(コミット、送信など)、両方のバージョンに(可能な限り自動的に!)適用されます。
マージが競合する場合は、時々手動で介入する必要があることは承知していますが、過去の手動変更の経験からすると、まれであると思います。
現時点では、VSSを放棄することを検討しています(そうです-長く維持するために私を笑い続けてください!)、Gitがこれを簡単にすることを望んでいましたが、これまでのところ、「単純な」ものはありません「解決策、私が見たすべての提案は「リベース」を中心に構築されていますが、これは私には「間違っている」ように見えます。リベースは履歴の書き換えなど、他の多くのことを行うように見えるので、必要なのは単純で本物のことだけです。」他のブランチからの変更に基づいて「前進」します。
- ここで何かが足りませんか?
- これを行うためのより簡単で適切に定義された方法はありますか?
- Gitではなく別のソース管理システムを使用したほうがよいでしょうか?
すべての考えは大歓迎です!