2017-05-30 5 views
2

私はTFSからGitへのマスターブランチからいくつかの分岐を持つソリューションを移植したいと思います。私はGit-Tfsを使ってソリューションを移植してブランチの関係を維持しようとしましたが、エラーを出さずにできる最善のことは、ブランチのそれぞれのサブフォルダを含むフォルダ全体のコピーを取得することです関係は維持されない。フォルダ構造は次のようになります...子フォルダは、それぞれのソリューションファイルと内容が含まれています。Git:ブランチをトランクに再接続するには?

MyProject 
    --Main 
    --Features 
    --FeatureBranch1 
    --FeatureBranch2 

また、唯一のMyProjectレベル、サブフォルダレベルで何で追跡されているように見えるコミットします。私は、それぞれのブランチが発生したチェンジセット番号を知っていますが、それが適用可能であれば、その情報の使い方はわかりません。

各ブランチをマスターと再関連付けする必要がありますが、どのように(私はGitの初心者ですか)わかりません。私は歴史についてはあまり気にしません - 私は、ブランチをある時点でトランクにマージすることができなければなりません。私は何をする必要がありますか?

答えて

3

ツールが動作しない場合(私はTFSに慣れていないので、使用可能なツールは使用できません)、履歴を保存せずに手動で行うことができます。 SubversionからGitに似たようなことに取り組んできました。サブディレクトリとしてブランチを扱うのと同様の問題がありました。

  1. 輸出マスターと同等のブランチ
  2. git initを(メインIは?仮定)、すべてを追加し、すべての作業コピーのファイルを削除します
  3. を追加するための最初の分岐のため
  4. git checkout -b <branchname>を犯すが、ありません.gitディレクトリ
  5. TFSから同等のブランチをエクスポートして、作業コピーにファイルをコピーします。
  6. git add --all - これは、すべての分岐があなたの上流に、すべての枝をプッシュする
  7. git push --allを完了するまで、
  8. 再び次の分岐のためのステップ3から繰り返しをマスターをチェック
  9. コミットの変更、追加、削除
  10. を認識します

これにより、ブランチの祖先は維持されますが、変更履歴は維持されます。これは、SVNのためのスクリプトを作成するのはかなり簡単でした。おそらくTFSのためのスクリプトもかなり簡単です。

+0

ホットダング、これはうまくいきました。どうもありがとうございます! – ket

関連する問題