4

C:\>git tf clone https://companyname.visualstudio.com/DefaultCollection $/companyname/Main OldTFS --deep

これはメインブランチの履歴のみを取得します。だったgit tf

C:\>git tfs clone https://companyname.visualstudio.com/DefaultCollection $/companyname/Main --with-branches

マージ変更セットの 1 つでいくつかのブランチを取得した後、これは失敗しますPlease report this case to the git-tfs developpers! (report here : https://github.com/git-tfs/git-tfs/issues/461 )git branchこれをくれる

Release/20120719.1
Sprint/Sprint044
Sprint/Sprint045
Sprint/Sprint047
Sprint/Sprint048
Sprint/Sprint049
Sprint/Sprint050
*master

Sprint085 までのブランチと、かなりの数のリリース ブランチもあります。あれはgit tfs

git tf履歴を適切に表示できるように、マージコミットを適切に作成する他のいくつかのブランチを取得できる方法はありますか?

4

1 に答える 1

4

免責事項: git-tfs にブランチ サポートを追加したのは私です...

git tfブランチをサポートしていないことを忘れてください。

これは、マージ変更セットの 1 つでいくつかのブランチをフェッチした後、改善できるように詳細を通知する必要があると言って失敗します。

おそらく、あなたはによって与えられたリンクをたどるべきだったでしょうgit-tfs;)

リンクはこれでした。そこにあるメッセージでは、ブランチのサポートを改善するために進行中の作業について通知されます。

本当に試してみるべきです。これは非常に良好な状態であり、他の 2 つのブランチ パターン (名前が変更されたブランチとベースレス マージ) をサポートできます。この最後の 2 つのパターンで、すべての分岐パターンをサポートできることを願っています (しかし、TFS は非常に驚くべきものであり、悪い意味で)、非常に厄介であるため、保証できません!)

すべてのブランチをサポートできない場合は、手動で行う方法のままです。しかし、非常に長い:

  • 別のリポジトリでブランチのみを複製する
  • メイン リポジトリでこのブランチを取得します
  • グラフトを使用して、ブランチをその親ブランチにリンクします (これは、TFS で手動で見つける必要があります。TFS はそれが非常に苦手なので、頑張ってください!)
  • [オプション]git filter-branchリンクを永続的にするために使用します。

PS : おそらく、すべてを自動化するための小さなスクリプトを作成することもできます...

于 2014-03-12T09:39:01.267 に答える