5

私は慣れていない svn セットアップで作業しており、あるブランチから別のブランチに新しいコードをマージする必要があります。

トランク フォルダーにはコードがないため、トランクをコードに更新して 2 番目のブランチを更新する必要があるかどうか、または 1 つのブランチを別のブランチに更新する方法があるかどうかはわかりません。私の最後の手段は、コードを手動で更新することです。

ここでの最善のルートは何か考えはありますか? 私は端末からすべてをやっています。

4

2 に答える 2

7

いいえ 手動で更新しません。もちろん、難易度はそれらの枝がどれだけ近いかによって異なります。

ブランチから別のブランチに変更をいつでも持ち込むことができます。branch1 と branch2 という名前の 2 つのブランチがあり、branch2 を branch1 にマージするとします。

branch1 にいるとします (最初に予行演習を試して、競合が発生するかどうかを確認してください)

svn merge -r LAST_MERGED_REVISION:HEAD_REVISION --dry-run url/to/branches/branch2 .

svn merge -r LAST_MERGED_REVISION:HEAD_REVISION url/to/branches/branch2 .
svn status | egrep '^C|^.C' <---Manual intervention is required for conflicts
svn update
svn ci -m "Merge changes from branch2"

そして、branch2 を閉じることができます

svn merge --reintegrate url/to/branches/branch2
svn update
svn ci -m "Merged branch2 to branch1"

ブランチが非常に分岐している場合、これは失敗する可能性があります。

于 2010-12-08T22:41:03.313 に答える
1

使用しているSubversionリリースに応じて、 svnmergeまたはsubversionの組み込みのマージ追跡サポートを使用することをお勧めします。いずれの場合も、トランクを使用せずに、あるブランチから別のブランチにマージすることは十分に可能です(ブランチに比較的近い祖先があると仮定します)。

于 2010-12-08T22:31:00.820 に答える