TFSとGitの両方を同時に実行する必要がある状況です。 2つを切り替える必要があります。 Gitがインストールされ、ローカルで実行するように構成されています。 TFSは会社のサーバーで実行されます。 Visual Studio 2013で2つの環境を切り替えるにはどうすればよいですか?
Git統合が改善された場合、私はVS 2015に切り替えることができます。
VSは最初にGitを検出してから、「チームエクスプローラー」でそのソース管理に切り替えました。 TFSに切り替える方法(思い出せない)に出会いましたが、Gitに戻す方法がわかりません。
気になったら、TFSでブランチを作成することは許可されておらず、メイントランクでコミットをいじったり、N番号を管理したりする方法がないため、GitをTFSと並べて実行する必要があります。シェルフセットの。機能ブランチを使用します
TFSワークスペースを使用し、GITも使用する場合は、チームエクスプローラーを使用してワークスペースを切り替えることができます。画面の上部にある「プラグ」のようなアイテムをクリックすると、それらを切り替えることができます。スクリーンショットはVS 2015からのものですが、UIは2013年からそれほど変わっていません。
ローカルマシンでのみgitを使用し、サーバーでTFSにプッシュする場合は、「 git-TF 」を参照してください。
「Trunk」をTFSからローカルgitリポジトリに複製し、gitで排他的に機能し、機能ブランチなどを使用できます。コードがTrunkに送り返す準備ができたら、リベースしてプッシュすることができます。
git-tf clone http://myserver:8080/tfs/mycollection $/TeamProjectA/Trunk
Gitリポジトリのファイルに変更を加える
git commit -a -m "commit one"
(ローカルで変更をコミット)
さらに変更を加える
git commit -a -m "commit two"
git-tf pull --rebase
git-tf checkin
最もエレガントなソリューションではありませんが、簡単で、サードパーティのツールは必要ありません(既にgit Shellがある場合)...スタジオを起動する前に、.gitフォルダーの名前を別の名前に変更するだけで、TFSが使用されます。ソリューションが開いたらすぐに、gitフォルダーの名前を「.git」に戻し、bashシェルを介してgit関連の操作を行うことができます。
mv .git git
(open the solution in VS)
mv git .git
この時点で、IDEを介してTFSを使用してチェックイン/チェックアウトし、シェルを介してgitを使用してプッシュ/プルすることができます。
注:新しいファイルがgit側から(つまり、git pullを介して)追加される場合、注意が必要なことの1つは、Studioが「Excluded Changes> Detected:### adds」の下にそれらをリストするためです。それらを「促進する」必要があります。
GITからTFSにスワップしようとすると、大きな問題が発生しました。
プロジェクトを開こうとしても失敗するだけです...ソリューションもプロジェクトもロードされません。
結局、機能した唯一のことは、手動で(非表示の).gitフォルダーを別の場所に移動することでした。そうして初めて、TFS経由でプロジェクトを開いて、わかりやすいTFSコンテキストメニュー項目(「コミット」ではなく「チェックイン」など)を表示できます
私はTFSを使用しているため、この問題を抱えていました。ファイルのローカル追跡にはgitを使用することを好みます。 (うまくいけば、会社は私からのいくつかのプッシュですぐにgitに移行しています...)
私が見つけたのは、これらのエイリアスを作成することです。エイリアスdegit = "mv .git git"エイリアスregit = "mv git .git"
TFSをソース管理として設定してVS2015を起動する前に、リポジトリをそのまま「デジット」し、すべてがロードされたら、リポジトリを「再登録」します。私とうまく機能するようです。繰り返しますが、私は現在、リモートへのプッシュにgitを使用していません。まだTFSを使用してそれを行っています。