3

背景:博士号のデータを分析するために、MATLABコードをいくつか継承しました。リサーチ。コードをよりよく理解できるように、サンプルテストケースのコードを実行するために必要なファイルの最小サブセットにコードを絞り込みました。

質問:このコードをバージョン管理システムに2つのブランチ、masterすべてのコードを含むminimalブランチ、およびコードの簡素化されたバージョンを含むブランチとしてコミットし、これらの間で変更をマージできるようにしたいと思います。ブランチ。どうすればこれを達成できますか?

単一の作業ディレクトリとGitまたはMercurialの名前付きブランチを使用してこれを実行したいのですが、他の提案も受け付けています。

編集:私はこれらの線に沿って以前のスタックオーバーフローの質問を見たと思っていました、そして私はちょうどそれを見つけました:剪定されたMercurialブランチに更新をプッシュします。受け入れられた回答へのコメントで、私がやろうとしていることの用語は「ナロークローニング」であり、GitとMercurialの両方で進行中の作業であると述べられています。

4

1 に答える 1

4

gitとmercurialの両方が正常に機能するはずです。マスターブランチを作成し、それを最小ブランチにコピーしてから、最小ブランチを削除して、既存の実装のようにします(余分なファイルをすべて削除し、変更したファイルをコピーします)。

それ以降は、ブランチ間で通常のマージコマンドを使用してください。主に最小ブランチからマスターブランチにマージするのがおそらく最善です。逆の方法でマージすると、一部のファイルが削除されたファイル/削除された関数に適用されるため、マージが失敗した(競合が発生した)という苦情が発生する可能性が高くなります。

于 2009-08-27T21:38:09.757 に答える