Tfsによって管理されているリポジトリがあります。ただし、ローカルではgitを介して管理したいので、プッシュはtfsに変更されます。そこにgitリポジトリを作成すると、チームエクスプローラーのVS2013に、このソリューションがgitのみで管理されていることが示されます。ファイルを編集しようとすると、ファイルが読み取り専用であると文句を言います。以前のバージョンでは保存できません。だから私の質問は、Visual Studio 2013がgitをまったく忘れて、tfsリポジトリとして管理する方法があるということです。コマンドラインからgitを管理できます。または、変更を行っているときにtfsリポジトリからファイルをチェックアウトする方法はありますか?
あなたのシナリオでは Git-tf
がおそらくより良い解決策であり、TFVCソース管理フォルダーに基づいてローカルのgitリポジトリを作成します。完了したら、コマンドラインから変更をGitからTFVCに直接プッシュできます。あなたはすでにコマンドラインに慣れているので、それはあなたにとってかなりうまくいくかもしれません。
同じフォルダーにgitリポジトリがある場合、VisualStudioを現在TeamFoundation SourceControlに強制的に保持することは非常に困難です。
恐ろしい回避策として、ソリューションを閉じ、.git
フォルダーの名前を_git
に変更して、ソリューションをリロードします。これによりTFVCが元に戻るはずですが、そうでない場合は、使用している場合はソリューションをTFVCに再バインドします。 file->source control->advanced->Change Source Control。次に、チェックイン後、ソリューションを再度閉じ、_git
の名前を.git
に戻し、リロードします。
Edがコメントで述べているように、次のように.gitフォルダーを別のフォルダーに移動できます。
\MyProjects
\GitRoot
| \.git
\MySolution
\MyFirstProject
\MySecondProject
これにより、Visual StudioでTFVCバインディングを使用できるようになり、git --git-dir=\MyProjects\GitRoot\.git
コマンド引数を使用して、.gitディレクトリが他の場所にあることをgitコマンドラインに伝えることができます。
@hlovdalが述べているように、GIT_DIR
という名前の環境変数を設定して、一度に修正することができます。
また、@ Ericが言及している別のトリックがあります。これは、次のようなテキストファイル名.git
を作成します。
gitdir: _git
.gitフォルダーの名前を_gitに変更してから、必ず_git
を.gitignore
に追加してください。
ヒント:Windowsエクスプローラーから.
で始まるファイルを作成するには、 New/Text Document オプション:
次に、ファイルに.git.
という名前を付けます([ファイル拡張子を表示する]オプションがオンになっていることを確認してください)。
ここで概説する解決策は私にとってうまく機能します: Visual Studio 2013でGit統合を永続的に無効にするにはどうすればよいですか?
基本的に:
Visual StudioはTFSのみを使用するようになり、gitも正しく機能します。
私はこれらのステップを提案します:
TOOLS Tab
に移動しますOptions
アイテムを選択しますSource Control
を選択しますPlugin Selection
アイテムで、関連付けられたドロップダウンリストにNone
を入力します 悪い解決策:ソリューションを閉じ、.gitフォルダーの名前を_gitに変更して、うまくいったソリューションをリロードします。 jessehouwingに感謝します。
いくつかのレジストリハックを使用して、Visual Studio2013からgitサポートを削除できます。もちろん少し危険ですが、この方法を使用してgitサポートを削除した後、まだ問題は発生していません。
http://blog.markrendle.net/disable-the-git-source-control-add-in-in-vs2013-permanently/
つまり、GUID {11B8E6D7-C08B-4385-B321-321078CDD1F8}
に関連付けられているすべてのものを削除するだけです。