visual-studio - visual - vscode gitlen




在Visual Studio中使用Git (11)

2013年1月,微軟announced他們正在為其所有ALM產品添加完整的Git支持。 他們發布了 Visual Studio 2012 插件 ,增加了Git源代碼控制集成。

另外,還有一個名為Git Extensions的項目,其中包括Visual Studio 2005,2008,2010和2012的加載項以及Windows資源管理器集成。 它定期更新並在幾個項目中使用過,我發現它非常有用。

另一個選項是Git源代碼管理提供程序

作為一個長期的Visual SourceSafe用戶(和討厭的人),我正在和一位同事討論切換到SVN的問題; 他建議使用Git來代替。 因為顯然它可以用作沒有中央服務器的對等網絡(我們只有一個3開發團隊)。

但是,我還沒有找到任何關於將Git與Visual Studio集成在一起的工具 - 這種事情是否存在?

有什麼技術可以在Visual Studio中使用Git? 在開始之前我需要了解他們的差異。


Microsoft在Visual Studio中完成的Git支持對於基本工作(提交/讀取/合併和推送)來說足夠好。 我的建議只是為了避免它...

我非常喜歡code.google.com/p/gitextensions (或者SourceTree比例SourceTree )。 因為看到DAG對我來說非常重要,因為它可以理解Git是如何工作的。 而且你更加意識到你的項目的其他貢獻者做了什麼!

在Visual Studio中,無法快速查看文件之間的差異或提交,也無法(添加到索引)並僅提交部分修改。 瀏覽你的歷史並不好......所有這些都以痛苦的體驗結束!

例如,GitExtensions捆綁了一些有趣的插件:背景獲取,GitFlow,......以及現在的持續集成

對於Visual Studio 2015的用戶,如果您安裝了GitHub擴展,Git正在形成。 但外部工具仍然更好;-)


Visual Studio 2013本身支持Git。

查看官方公告


TortoiseGit已經成熟,我推薦它,特別是如果你使用過TortoiseSVN。




我將Visual Studio的Git用於我的C#協議緩衝區端口。 我不使用GUI - 我只保留一個命令行以及Visual Studio。

大多數情況下它是很好的 - 唯一的問題是當你想重命名一個文件。 Git和Visual Studio都寧願他們是重命名它的人。 我認為在Visual Studio中重命名它是一種可行的方式 - 只需要謹慎從事Git方面的工作。 雖然這在過去有點痛苦,但我聽說它在Git方面應該是非常無縫的,因為它可以注意到內容大部分是相同的。 (不完全相同,通常 - 當您重命名類IME時,您傾向於重命名文件。)

但基本上 - 是的,它工作正常。 我是一個Git新手,但我可以把它做到我需要的一切。 確保你有一個bin和obj的git忽略文件,和* .user。


我已經研究了這一點(使用Subversion和Git)。 Visual Studio實際上有一個源代碼控制集成API,允許您將第三方源代碼控制解決方案集成到Visual Studio中。 但是,大多數人不會因為幾個原因而煩惱它。

首先,API幾乎假設您正在使用鎖定結帳工作流程。 其中有很多鉤子,要么實施起來要么昂貴,要么當你使用更現代化的編輯 - 合併工作流程時,扁平化就沒有意義。

第二個(相關的)是,當你使用Subversion和Git鼓勵的編輯合併工作流程時,你並不需要 Visual Studio集成。 SourceSafe與Visual Studio集成的主要殺手是,您(和編輯)一眼就可以分辨出您擁有哪些文件,在編輯之前必須檢出哪些文件,哪些文件即使您想要也不能檢出。 然後它可以幫助你做任何你想編輯文件時需要做的修改控制voodoo。 這些都不是典型的Git工作流程的一部分。

當你使用Git(或者典型的SVN)時,你的修訂控制交互全部發生在開發會話之前,或者在它之後(一旦你有所有的工作和測試)。 在這一點上,使用不同的工具真的不是太痛苦。 你並不是經常需要來回切換。



正如Jon Rimmer所提到的那樣,您可以使用GitExtensions。 GitExtensions在Visual Studio 2005和Visual Studio 2008中工作,如果您手動複製和配置.Addin文件,它也可以在Visual Studio 2010中工作。


目前在Visual Studio中有兩個Git源代碼控制選項(2010和12):

  1. Git源代碼管理提供程序
  2. Microsoft Git Provider

我已經嘗試過並且發現第一個更成熟,並且具有更多的功能。 例如,它可以很好地兼容龜git和git擴展,甚至可以暴露它們的功能。

注意 :無論您使用哪種擴展名,請確保您從Tools -> Options -> Source control -> Plugin Selection啟用它以使其工作。







git