git-tfsを慣用的に使用するにはどうすればよいですか?
gitイディオムは、リポジトリのルートディレクトリへのブランチをチェックアウトすることです。ブランチをチェックアウトすると、ディレクトリの内容がそのブランチの内容に置き換えられます。
TFSのイディオムは、リポジトリのルートディレクトリの下にある別のディレクトリにある各ブランチをチェックアウトすることです(マスターブランチまたはトランクブランチも)。ブランチをチェックアウトすると、現在のディレクトリの隣の新しいディレクトリに配置されます。
git-tfsを使用すると、TFSリポジトリのクローンを作成したり、gitリポジトリにブランチしたりできます。gitブランチイディオムと一致する方法で、複数のブランチを持つTFSリポジトリで作業したいと思い ます。しかし、技術的に何が可能であるか、または推奨されているかはわかりません:)
TFSリポジトリ全体のクローンを作成する
リポジトリ全体をTFSから複製した場合
> git tfs clone http://<tfsurl>:8080 $/main
これにより、すべてのTFSブランチをディレクトリとしてmaster
含むgitが得られます。
[master]> dir
trunk
feature-logon
feature-search
release-0.0.1
TFSブランチごとにリモートを追加する
gitリモートを各TFSブランチにマップできるかどうか(またはその方法)はわかりません。
> git init .
[master]> git tfs clone http://<url> $/main/trunk .
それで
[master]> git checkout -b feature-logon
[feature-logon]> git tfs clone http://<url> $/main/feature-logon .
私はこれが技術的に間違っていることを知っていますが、プレイしないとそれ以上のことはわかりません(私の唯一のTFSリポジトリは非常に大きく、実験には長い時間がかかります)