2012-07-19 8 views
23

私のブランチでコミットしています。私は枝を幹に合併したいが、私の支店の幹に合流しないコミットがある。私はどのように行いますか?Subversion:特定のコミットをマージする方法

+1

トランクでマージしたくないコミットがあること、または変更をマージしようとするときにいくつかの競合があることを意味しますか? –

+0

の例では、私のブランチに7つのコミットがありますが、私は3つのコミットをマージしたいだけです。 – Clown

+0

ですので、リビジョンのみをマージする必要があります。 http://stackoverflow.com/questions/326937/subversion-how-to-merge-only-specific-revisions-into-trunk-when-multiple-consec – tostao

答えて

25

バージョンコントロールシステムでは通常、cherrypickingと呼ばれます。あなたがより多くの情報を見つけることができます

svn merge -c345,364,377 ^/trunk 

はあなたがリビジョン345、364および377をマージしたいと言って、あなたはあなたのブランチのクリーンな作業コピーのトップレベルのディレクトリで次のように行います対応するsection of the SVN Book

+0

魅力のように動作します、ありがとう – PierreF

-7

リビジョン番号と必要なコミットをマージできます。

22

ちょうどYannickの答えを拡張する。

  1. :あなたは1 /いくつかの特定のは、あなたが必要とする別のブランチ(例えば支店に「から」枝から「から」をコミットR13とr666をマージ必要)に1からコミットマージすることができます
    への分岐

    svn diff -c 13,666 https://fullpathtoyourproject/branches/_from_ 
    
  2. 急が:

    確認は、可用性を(ちょうど確実にするために)コミット

    svn info 
    

    セクションのURLでこのパスが表示されます。あなただけのタイプ 'fullpathtoyourproject' を取得する必要がある場合は

    svn sw https://fullpathtoyourproject/branches/_to_ 
    
  3. マージは

    svn merge -c 13,666 https://fullpathtoyourproject/branches/_from_ 
    

コミットします。

私はFULL url/pathを使用することをお勧めします。私はいくつかのプロジェクトで個人的に相対パスが動作しませんでした。

+0

これは良い答えですマージのソースと宛先について説明します。 – natersoz