2017-05-19 9 views
0

移行のためにsvnを実行しました。私は私の枝+多くの追加の幹を見る。どのように私はそれらの支店を解釈する必要がありますか?私は既にマスターを持っています(私は--trunk devのトランクとして定義しました)。差分トランクvs移行後のsvn後のマスターブランチ

私は私の枝を表示すると、私はこのようなものがあります:私のマスターは、SVNでのdevの枝ですが(私たちはトランクとしてDEVを定義する)

* master 
    prod 
    test 
    [email protected] 
    [email protected] 
    [email protected] 
    [email protected] 
    [email protected] 

を。 ブランチで改正のチェンジが改正 +1でブランチ上のチェンジの親でない場合

+0

'git log --all --online --graph --decorate'を試して、これらのブランチ間の関係をチェックしてください。また、トランクブランチが 'git branch --contains trunk @ 123'によって' master'にマージされているかどうかをテストできます。出力に 'master'が含まれている場合、' trunk @ 123'はもう必要ない場合は削除することができます。 – ElpieKay

+0

@ElpieKayありがとう、よく私はマスターといくつかの他のトランク@リビジョンブランチを毎回含んでいるようだ。つまり、これらのブランチはマスターとマージされますか?しかし、私たちはトランクと呼ばれる支店を持っていないので、この本物の支店です。 – DenCowboy

+0

@ElpieKayコミットを失うことなく、ローカルブランチとリモートブランチを削除できますか? – DenCowboy

答えて

1

git-svn@改正接尾辞で枝を作成します。

あなたが次の123の後/trunkに変更すると[email protected]を取得し、である(必ずしも124;それは別のパスに関係することができますように)、それを削除し、新しいコンテンツに置き換え、/branches/dev(または/devからそれをコピーすることによって可能性が高いか、どのようにあなたはそれを呼んでいた)。

Subversionでは、変更は常に[email protected]としてアクセスできますが、GitではコミットがDAG内でのみリンクされるため、これらのコミットには後継がないため(ブランチが別の場所から書き直されたため)これらのブランチラベルなしでは、コミットにアクセスできません。

+0

ありがとう、今私は同じと定義した--nobranchesを試みたが、私はsvn/remotes/trunk @ revisionを私のブランチリストに入れている。そうでなければgitはコミットが欠けてしまうので、まだそこにいますか? – DenCowboy

+1

@DenCowboy、 '--nobranches'を使うと、'/branches'の中にあるものを気にしないように伝えるだけです。しかし、まだ '/ trunk'をインポートしているので、コミットをgitで利用できる唯一の方法なので、これを取得します。 –

+0

git-svnは、あなたが追跡することを頼んだブランチのすべての履歴を取得するのにかなり難しい試みをしています。これは可能な限り履歴に戻ることを意味します。ブランチ_trunk_を追跡するように設定すると、別のブランチが_trunk_にマージされているのが見えますが、git-svnがトラッキングするように設定されていないことがわかります(trunk @ some-revisionのようなブランチが作成されますマージが起こったリビジョン)。 – eftshift0

関連する問題