2009-09-30 16 views
29

私は、より良いDVCS for .NET開発者が何か疑問に思いましたか? Mercurialのように聞こえる様々な情報を読んでからはWindows上でうまくいくが、他の情報によると、Gitは質の高いWindowsとVisual Studioツールを提供してMercurialを追い抜いてしまった。誰かが良い最近の情報や.NET開発環境で両方を試して経験を持っていますか?.NET開発者向けのGit対Mercurial?

答えて

24

私はMercurialを.NET開発に1年以上使用してきました。私は、派手なツール(エクスプローラアドオンやVisualスタジオツール)を使用していないが、利用可能であることは認めている(TortoiseHgなど)。私は、コマンドラインツールを使用することは簡単であることを発見しました。ちょうど.hgignoreにいくつかのワイルドカードを指定してください(Blaenk's answerなど)。

gitがhgとどのようにうまく統合されているのかよく分かりませんが、逆のsiutationではこれまではhg-gitを使用していました。しかし、hgの新しいリリースが出てきてもまだまだ不安定です。

水銀からgithubを使うことができるはずです。ネイティブのmercurial reposには、常に(imo)と同じようにnice bitbucket.orgがあります。編集:また、.NETのオープンソースプロジェクトに焦点を当てたcodeplexは、GitとMercurialのリポジトリを提供しています。

また、「人気度」は選択肢のベースとするのが非常に難しい基準です。どちらのDVCSにも注目度の高いユーザーがいます。もちろん、GitにはLinuxカーネルがありますが、hgユーザーにはmozillaとPythonプロジェクトが含まれています。

EDIT:これは定期的なアップボトムを得ているようです。私が上に書いたすべては、執筆時点では真実でしたが、私は以前の自己のビットバケットに同意しなくなったので、GitHubほど素晴らしいものです。 GitHubは優れた機能を持ち、私の視点(たいていはF#オープンソース開発)から他の人たちがそこにいますので、ネットワーク効果がさらに向上します。しばらく前に私のプロジェクトをcodeplex/bitbucketからGitHubに移動してすぐに寄付を始めましたが、codeplex/bitbucketでは何も起こっていませんでした。

+2

VS 2008にいくつかのMercurial機能を提供するHgSccPackageプラグインもあります。http://bitbucket.org/zzsergant/hgsccpackage/overview/ –

+4

私のチームはVS統合にhttp://VisualHg.codeplex.comを使用しています。素晴らしい仕事をしています。私たちはhgsccよりもそれが好きです。 – jwanagel

8

私は与えられたのgitの指数関数的な人気の成長、Windows用のgitの良いサポート(SubversionのTortoiseSVNののようなものとのそれに似)が到着するバインドされている、それは時間の問題だと思います。最も普及していると思われる2つのプロジェクトは、msysgitTortoiseGit(これもmsysgitを使用します)です。これはtortoiseSVNに似ています。 gitはますます人気が高まっています。もしあなたが現在問題のない問題に遭遇していて、Windows上のgitツールがさらに発展するようになったら、もっと難しくなるでしょう。ユーザーベース。

その間、私はthis seriesのガイドが非常に役立つことを発見しました。あなたは本当に簡単ですこれは、.gitignoreを使用する方法をルックアップする場合は簡単なはず特定のファイルを、無視することができるに遭遇するかもしれません

の問題は、ここでのシリーズは言及ファイルとワイルドカードのリストは、次のとおりです。

obj 
bin 
_ReSharper.* 
*.csproj.user 
*.resharper.user 
*.resharper 
*.suo 
*.cache 
*~ 
*.swp 

また、行末に関するいくつかの問題があります。そのためには、this questionをチェックしてみてください。

1

私はMercurialを真剣に使用していませんが、Subversion for .NET開発からGitに切り替えるだけです。私が使っているディストリビューションはGit Extensionsで、標準(msys)Gitとグラフィカルフロントエンド、Windowsエクスプローラーとの統合、そしてVisual Studioプラグインをインストールしています。また、良いドキュメントが同梱されています。エクスプローラとの統合では、TortoiseSVNが行うファイルアイコンにはステータスマーカーは表示されませんが、右クリックメニューに必要事項が追加されます。これらのツールはすべて正常に動作しています。

私が見つけた最大の問題は、Gitは良い結果を得るための概念を理解する必要があることです。 Git Extensionsのグラフィカルインターフェイスは、Gitの機能よりも薄いシェルなので、例えばサブモジュールと闘うと、Git Extensionsが提供するツールはその問題を解決しません。しかし、オンラインでGitに関するチュートリアルやビデオがたくさんあります。

デフォルトでは、GitのWindowsビルドは行末をCRLFに変換します。私たちが完全にMSショップであるので、これは私たちにとって正しい行動です。

8

執筆時点では、私はとTortoiseHg(水銀用)を、異なるプロジェクト、主にjavaと.netプロジェクトで使用しました。私はTortoiseHgがより安定しており、2人で完全に機能するので、TortoiseHgが先導していると言わなければなりません。

Mercurial plugin for Visual Studio 2008がありますが、プラグイン自体が安定するまではTortoiseHgを使用することをおすすめします。 gitとの統合についてはわかりませんが、VS hereのプラグインに関するいくつかの話があります。

3

GitとMercurialはどちらも.NET開発者にとってうまくいくが、MercurialはWindowsのサポートが優れていることはよく知られている。 また、市販のツールを検討している場合、Windows上の分散型開発ツールの次のチュートリアルを読んで、Plastic SCMをご覧ください。 http://codicesoftware.blogspot.com/2010/03/distributed-development-for-windows.html 更新プラスチックSCMには、無料のCommunity Editionがあります。

0

Gitは、VSを使用しているときの命名を簡単にする大きな利点を持っています。コマンドラインインターフェースを使用したいのであれば名前を変更してください.HGでは、VSで名前を変更するときにファイル名を変更する必要があります。あなたの名前をシームレスに検出します(ファイルの内容ではなく内容を追跡します)。ファイルの変更を加えても名前の変更を検出します。

+3

Hgは(addremoveコマンドによって)リネームの検出もサポートしています。 VisualHgを使用していますが、VSで作成された名前の変更はHgで自動的に名前が変更されるため、問題はありません。 – jwanagel

4

gitはunix/linuxユーザにとって自然な形ですが、Windowsや.netユーザにとってはますます良くなっています。しかし、水銀は、2つの間でより良い選択かもしれません。集中化された開発者とは異なり、そこにはたくさんの選択肢があり、そこには「真の」dvcsツールはほとんどありません。私が知る限り、商用システム、プラスチックscm、前述の2つのossツールしかありません。私はクリアケース側から来て、pvcs、p4などの伝統的なscmツールの経験があります。私はおそらくこのサイトを通して、そして私が評価したものから、視覚的な立場からうまくいくように見えます。あなたが言っているように、あなたが窓口の店であれば、それはプラスチック、水銀、そしてgitの順であるかもしれません。もしあなたがもっとunix/linuxなら、gitはおそらく最初の論理的な選択でしょう。お役に立てれば!

関連する問題