visual-studio - tutorial - visualstudio git config




Visual StudioでGitを使用する (11)

私は長い間、 Visual SourceSafeのユーザー(そして嫌いな人)として、同僚とSVNへの切り替えについて議論していました。 代わりにGit使うよう提案しました。 明らかに、中央サーバなしでピアツーピアとして使用することができます(私たちは3人の開発者チームしか持っていません)。

私はGitとVisual Studioを統合するツールについては何も見つけることができませんでしたが、そのようなことはありますか?

Visual StudioでGitを使用するために利用できる技術は何ですか? そして、私が始める前に彼らがどのように異なっているかを知る必要がありますか?



2013年1月、マイクロソフトでannounced 、ALM製品すべてに完全なGitサポートを追加するとannouncedしました。 彼らはGitソースコントロールの統合を追加するVisual Studio 2012のプラグイン公開しています

また、 Git Extensionsと呼ばれるVisual Studio 2005、2008,2010、および2012のアドインとWindowsエクスプローラの統合を含むプロジェクトがあります。 それは定期的に更新され、いくつかのプロジェクトでそれを使用してきました。

別のオプションはGit Source Control Providerです。


MicrosoftのGit用Visual Studio Toolsがあります。 ただし、Visual Studio 2012(アップデート2)のみをサポートしています。



Visual Studio 2013はネイティブにGitをサポートします。

公式発表を参照してください。


Visual StudioでGitを使用してC#へのプロトコルバッファポートを使用します。 私はGUIを使用しません - 私はコマンドラインを開いているだけでなく、Visual Studioを保持します。

ほとんどの場合、それは問題ありません。唯一の問題は、ファイルの名前を変更する場合です。 GitとVisual Studioの両方が、名前を変更する人物だったはずです。 私はVisual Studioでその名前を変更することがやり方だと思っています - 後であなたがGit側で何をするか注意してください。 これは過去には少し痛みがありましたが、内容がほぼ同じであることに気付くことができるので、実際にGit側でシームレスにすべきではないかと聞いてきました。 (まったく同じではありませんが、通常、IMEというクラスの名前を変更するときにファイルの名前を変更する傾向があります)。

しかし基本的に - はい、うまくいきます。 私はGitの初心者ですが、私はそれが必要なすべてを行うことができます。 binとobjと* .userのgit無視ファイルがあることを確認してください。


TortoiseGitは成熟しており、TortoiseSVNを使用している場合は特にお勧めします。




現在、Visual Studio(2010と12)にはGit Source Controlの2つのオプションがあります:

  1. Gitソース管理プロバイダ
  2. Microsoft Git Provider

私は両方を試み、より成熟した1番目を見つけ、より多くの機能があります。 例えば、カメのgitとgitの拡張機能をうまく使い、機能を公開することさえ可能です。

:どのエクステンションを使用する場合でも、 Tools -> Options -> Source control -> Plugin Selectionを有効にしてください。


私はこれをSubversionとGitの両方で少し調べました。 Visual Studioには実際にサードパーティのソース管理ソリューションをVisual Studioに統合するためのソース管理統合APIがあります。 しかし、大部分の人はいくつかの理由でそれを気にしません。

1つは、APIがロックされたチェックアウトワークフローを使用していると仮定していることです。 実装するのに費用がかかるフックが数多くあります。より現代的な編集 - マージワークフローを使用しているときは、意味をなさないものです。

2つ目は、SubversionとGitの両方が奨励する編集 - マージワークフローを使用している場合、Visual Studioとの統合が本当に必要ないということです 。 SourceSafeのVisual Studioとの統合についての主な懸念事項は、編集者が編集する前にチェックアウトしなければならないファイルと、必要な場合でもチェックアウトできないファイルを一目で把握できることです。 それで、ファイルを編集したいときに必要なリビジョンコントロールのブードーを手助けすることができます。 それは一般的なGitワークフローの一部でもありません。

Git(またはSVN)を使用している場合、リビジョンコントロールのやりとりはすべて、開発セッションの前または後に行われます(作業とテストが完了したら)。 その時点で、別のツールを使用するのは本当に苦痛ではありません。 あなたは絶えず前後に切り替える必要はありません。





git