Câu hỏi Sử dụng Git với Visual Studio [đã đóng]


Như một thời gian dài Visual SourceSafe người dùng (và hater) Tôi đã thảo luận về việc chuyển sang SVN với một đồng nghiệp; anh ấy đã đề xuất sử dụng Git thay thế. Vì, rõ ràng, nó có thể được sử dụng như peer-to-peer mà không có một máy chủ trung tâm (chúng tôi chỉ có một nhóm phát triển 3).

Tôi đã không thể tìm thấy bất cứ điều gì về các công cụ tích hợp Git với Visual Studio, mặc dù - hiện một điều như vậy tồn tại?

Những công nghệ nào có sẵn để sử dụng Git với Visual Studio? Và tôi cần phải biết gì về sự khác biệt của chúng trước khi tôi bắt đầu?


1401
2018-02-03 14:46


gốc


Tôi vừa thêm Git Source Control Provider cho VS 2010, vì vậy nó vẫn hoạt động. - Wade73
Thanh toán này hướng dẫn từ nhóm VS. Bản cập nhật tiếp theo; Bản cập nhật 2 cho VS 2012 sẽ ra mắt vào bất kỳ ngày nào. Bạn cũng có thể tải xuống bản xem trước công nghệ cộng đồng (CTP) cho VS2012 từ đây. Ngoài ra, nếu bạn tham gia CMMI, Agile, Scrum 1/2, bạn có thể đăng ký tài khoản miễn phí (cả trường hợp đám mây công khai hoặc riêng tư) và mời thành viên (đồng đội, khách hàng) tham gia dự án trên TFS trên web tfs.visualstudio.com - Annie
Tôi đã sử dụng Visual Studio và git trong hai năm nay. Tôi sẽ nói rằng giải pháp tốt nhất cho vấn đề này là chỉ sử dụng một ứng dụng điều khiển nguồn riêng biệt như Atlassians SourceTree. Nó hoàn toàn miễn phí, dễ cài đặt, có giao diện đẹp và thân thiện với người dùng, bạn có thể duyệt nhiều kho lưu trữ (cũng như các dự án khác nhau) giống như bạn duyệt web trong Chrome và quan trọng nhất là hỗ trợ nhiều hệ thống kiểm soát nguồn. Hãy thử một lần! Bạn sẽ không thất vọng, tôi đảm bảo với bạn! - Fazi
Git được hỗ trợ nguyên bản bắt đầu từ Visual Studio 2013 - rustyx
Tôi yêu cách 1342 người đã bỏ phiếu cho câu hỏi này và một số tên ngốc đến và đóng nó lại. Tốt sẽ StackOverfolow .... Điều gì không quan trọng nếu không phù hợp với tiêu chí của SO nếu nó rất nhiều người tìm thấy nó rất hữu ích. Không phải là điểm của trang web này là hữu ích? - thebunnyrules


Các câu trả lời:


Vào tháng 1 năm 2013, Microsoft công bố rằng họ đang thêm hỗ trợ đầy đủ Git vào tất cả các sản phẩm ALM của họ. Họ có xuất bản một plugin cho Visual Studio 2012 bổ sung tính năng tích hợp kiểm soát nguồn Git.

Ngoài ra, có một dự án gọi là Tiện ích mở rộng Git bao gồm các bổ trợ cho Visual Studio 2005, 2008, 2010 và 2012, cũng như tích hợp Windows Explorer. Nó được cập nhật thường xuyên và đã sử dụng nó trên một vài dự án, tôi thấy nó rất hữu ích.

Một tùy chọn khác là Nhà cung cấp kiểm soát nguồn Git.


1056
2018-02-03 15:07



Oooh. Cảm ơn. Tôi không cho rằng bất kỳ công cụ nào có hiệu quả w / VS2005? - T.E.D.
ted.dennison: Theo trang này (code.google.com/p/gitextensions) nó là một plugin VS 2005/2008. - Jonas
Để sửa bản thân mình - nguồn được lưu trữ trên Github, các MSI không. - Chris S
Tôi đã cài đặt phần mở rộng git, nó hoạt động "bởi" visual studio, và không tích hợp đầy đủ. Có giải pháp nào cho phép đăng ký - trả phòng từ Solution Explorer không? - Dani
Dani, ai đó đang làm việc trên một nhà cung cấp kiểm soát nguồn Git cho VS có vẻ như cung cấp mức tích hợp sâu hơn một chút: gitscc.codeplex.com - Jon Rimmer


Tôi sử dụng Git với Visual Studio cho cổng Protocol Buffers của tôi tới C #. Tôi không sử dụng GUI - Tôi chỉ giữ một dòng lệnh mở cũng như Visual Studio.

Đối với hầu hết các phần nó là tốt - vấn đề duy nhất là khi bạn muốn đổi tên một tập tin. Cả Git và Visual Studio sẽ thích điều đó họ là người đổi tên nó. Tôi nghĩ rằng đổi tên nó trong Visual Studio là cách để đi mặc dù - chỉ cần cẩn thận những gì bạn làm ở phía Git sau đó. Mặc dù điều này đã được một chút đau đớn trong quá khứ, tôi đã nghe nói rằng nó thực sự nên được khá liền mạch trên bên Git, bởi vì nó có thể nhận thấy rằng các nội dung sẽ được chủ yếu là như nhau. (Không hoàn toàn giống nhau, thông thường - bạn có xu hướng đổi tên tệp khi bạn đổi tên lớp, IME.)

Nhưng về cơ bản - vâng, nó hoạt động tốt. Tôi là một newbie Git, nhưng tôi có thể làm cho nó làm mọi thứ tôi cần. Hãy chắc chắn rằng bạn có một git bỏ qua tập tin cho bin và obj, và * .user.


195
2018-02-03 14:51



git nên được tốt với VS làm đổi tên. Để theo dõi tên đổi tên tốt trong nhật ký git, bạn chỉ cần chắc chắn rằng bạn bỏ giai đoạn 'xóa' thay đổi trong cùng một cam kết như phần 'thêm'. git add -A làm cho điều này dễ dàng nếu bạn .gitignore được cập nhật. - CB Bailey
Tôi cũng là một newbie git, và nói cho bạn biết sự thật tôi thích hơn để sử dụng nó từ dòng lệnh. Tôi sẽ có một chút sợ hãi để xử lý sức mạnh git cho một GUI mà cố gắng để được "thông minh" và làm một số "ma thuật" sau lưng tôi. - hasen
Cảm ơn vì lời khuyên. Tôi chỉ chuyển đến git (và github) và sẽ không bao giờ nhìn lại. Khách hàng của tôi sử dụng lực lượng (ugh!). Vì vậy, kế hoạch của tôi là thực hiện một lần thanh toán từ lực lượng, thực hiện công việc của tôi với git, sau đó kiểm tra lại. - Mark Beckwith
@ CallMeLaNN: Bạn đang thực hiện một giả định lớn ở đó, về những người mới sử dụng Git gặp khó khăn khi sử dụng dòng lệnh. Nhìn vào bình luận của hasan j từ tháng 4 năm 2009. - Jon Skeet
Tôi thường thêm .user, * .suo, bin, obj,. và _ * vào danh sách bỏ qua của tôi ... nếu có một trong những điều trên tôi muốn thêm vào, tôi vẫn có thể thêm nó theo cách thủ công. - Tracker1


Nhà cung cấp kiểm soát nguồn Git là trình cắm thêm mới tích hợp Git với Visual Studio.


90
2018-05-31 22:16



Có cơ hội để làm cho nó hoạt động vào năm 2005 không? - Art
Tốt. TBH giao diện đồ họa của điều này là chính xác những gì tôi đang tìm kiếm khi tôi tìm kiếm một GUI cho git trong VS 2010. Cảm ơn bạn đã đăng bài này. Các câu trả lời khác không phải là những gì tôi cần. Họ là người nghèo so với VisualSVN. - JDPeckham


Tôi đã nhìn vào điều này một chút tại nơi làm việc (cả với Subversion và Git). Visual Studio thực sự có một API tích hợp điều khiển nguồn để cho phép bạn tích hợp các giải pháp kiểm soát nguồn của bên thứ ba vào Visual Studio. Tuy nhiên, hầu hết mọi người không bận tâm với nó vì một vài lý do.

Đầu tiên là API khá nhiều giả sử bạn đang sử dụng một công việc khóa-checkout. Có rất nhiều móc trong đó là một trong hai cách tốn kém để thực hiện, hoặc chỉ phẳng ra không có ý nghĩa khi bạn đang sử dụng công việc chỉnh sửa-hợp nhất hiện đại hơn.

Thứ hai (có liên quan) là khi bạn đang sử dụng luồng công việc chỉnh sửa-hợp nhất mà cả Subversion và Git đều khuyến khích, bạn không thực sự nhu cầu Tích hợp Visual Studio. Điều sát thủ chính về tích hợp SourceSafe với Visual Studio là bạn (và người biên tập) có thể nói nhanh những tập tin mà bạn sở hữu, mà bạn phải kiểm tra trước khi có thể chỉnh sửa, và bạn không thể kiểm tra ngay cả khi bạn muốn. Sau đó, nó có thể giúp bạn làm bất cứ điều gì mà bạn cần chỉnh sửa voodoo khi bạn muốn chỉnh sửa một tập tin. Không ai trong số đó thậm chí là một phần của quy trình làm việc Git điển hình.

Khi bạn đang sử dụng Git (hoặc SVN thông thường), tất cả các tương tác kiểm soát-sửa đổi của bạn đều diễn ra trước phiên phát triển của bạn, hoặc sau khi nó (một khi bạn có mọi thứ làm việc và thử nghiệm). Tại thời điểm đó nó thực sự không phải là quá nhiều của một nỗi đau để sử dụng một công cụ khác nhau. Bạn không phải liên tục chuyển đổi qua lại.


52
2018-02-03 15:13



Các bạn có bao giờ di chuyển hay đổi tên các tập tin / thư mục không? Tôi bắt đầu sử dụng VisualSVN một vài tháng trước và tôi không bao giờ có thể quay trở lại. - JohnOpincar
@ TED Với tôi điều này có nghĩa là sau một thời gian dài, bạn phải nhớ lý do cho mọi thay đổi tập tin cho đến khi bạn đăng ký. Nếu tôi đang làm việc gì đó và thấy điều gì đó cần được sửa trong khu vực không liên quan tôi muốn xem, sửa chữa và kiểm tra khi biết rằng tôi có thể thanh lọc sự thay đổi đó từ bộ nhớ của mình. Tôi muốn làm điều này từ bên trong VS - Peter M
Trình cắm thêm của Git Extensions Visual Studio không cố gắng tự sửa lỗi trong API điều khiển nguồn kiểm tra khóa học cũ mà Microsoft đã cung cấp. Nó rất phù hợp với luồng công việc chỉnh sửa-hợp nhất và về cơ bản chỉ cần thêm commit / push / pull và lịch sử tệp ngay bên trong IDE. Có lịch sử tập tin trên menu ngữ cảnh là cực kỳ hữu ích! - Jacob Stanley
Tôi không đồng ý chủ yếu bởi vì phải đi ra khỏi phòng thu trực quan để kiểm tra trong khuyến khích thời gian dài hơn giữa kiểm tra ins. Quá nhiều người đã thanh toán vào đầu ngày và không đăng ký cho đến khi kết thúc (hoặc ngày tồi tệ hơn sau đó). Tích hợp với studio trực quan cho phép bạn liên tục giữ quyền kiểm soát nguồn trong quy trình làm việc của mình. - Chris McGrath
Visual Studio tích hợp kiểm soát nguồn như của VS2005 (VS2003?) Không đặc biệt nghiêng về phía một mô hình kiểm tra checkin. Hãy xem AnkhSVN chẳng hạn. Tôi thích VS tích hợp, bởi vì sau đó đổi tên, vv là mượt mà hơn. - Roger Lipscombe


Tôi thấy rằng Git, làm việc trên toàn bộ cây như nó, lợi ích ít hơn từ việc tích hợp IDE hơn so với các công cụ kiểm soát nguồn dựa trên tệp hoặc theo một mô hình thanh toán-chỉnh sửa-cam kết. Tất nhiên có những trường hợp khi nó có thể được tốt đẹp để bấm vào một nút để làm một số kiểm tra lịch sử, nhưng tôi không bỏ lỡ rất nhiều.

Việc cần làm thực sự là lấy tệp .gitignore của bạn đầy đủ những thứ không nên ở trong kho lưu trữ được chia sẻ. Mỏ thường chứa (trong số các thứ khác) như sau:

*.vcproj.*.user
*.ncb
*.aps
*.suo

nhưng điều này là rất nhiều C + + thiên vị với ít hoặc không sử dụng bất kỳ chức năng phong cách thuật sĩ lớp.

Mẫu sử dụng của tôi giống như sau.

  1. Mã, mã, mã trong Visual Studio.

  2. Khi hạnh phúc (trung gian hợp lý để cam kết mã, chuyển sang Git, thay đổi giai đoạn và xem xét diffs.Nếu bất cứ điều gì rõ ràng là sai chuyển trở lại Visual Studio và sửa chữa, nếu không cam kết.

Bất kỳ hợp nhất, chi nhánh, rebase hoặc các công cụ SCM ưa thích khác là dễ dàng để làm trong Git từ dấu nhắc lệnh. Visual Studio thường khá hài lòng với những thứ thay đổi theo nó, mặc dù đôi khi nó có thể cần phải tải lại một số dự án nếu bạn đã thay đổi các tệp dự án một cách đáng kể.

Tôi thấy rằng tính hữu ích của Git lớn hơn bất kỳ sự bất tiện nhỏ nào không có tích hợp IDE đầy đủ nhưng ở một mức độ nào đó, vấn đề về hương vị.


37
2018-02-03 15:09



Bạn không, bạn chắc chắn nên có tập tin dự án của bạn dưới sự kiểm soát phiên bản. - CB Bailey
Điều này là rất quan trọng - phục hồi từ quên để bao gồm một cái gì đó trong .gitignore một khi bạn đã bắt đầu cam kết và phân nhánh là đau đớn, để nói rằng ít nhất ... - Benjol
@ Benjol: Nó không phải là đau đớn. Bạn chỉ cần git rm <file> và echo <file> >>.gitignore; git add .gitignore trên các mẹo của các nhánh đang hoạt động của bạn. Sau khi bạn đã cam kết thay đổi sau khi bạn luôn có thể chọn chế độ sửa chữa trên các nhánh khác. - CB Bailey
@Charles Bailey, xem cuộc phiêu lưu của tôi trong câu hỏi này: stackoverflow.com/questions/1887049/… - Benjol
@Mike Brown: Anh ấy đang bỏ qua các tệp * .user, là cài đặt dành riêng cho người dùng. - Srdjan Jovcic


Microsoft công bố Git cho Visual studio 2012 (cập nhật 2) gần đây. Tôi chưa chơi với nó, nhưng Video này trông đầy hứa hẹn.

Đây là một cách nhanh chóng hướng dẫn về cách sử dụng Git từ Visual Studio 2012.


31
2018-01-30 23:10



Tôi đề nghị này vì nó là sản phẩm chính thức của microsoft. và nó có thể cài đặt trên VS 2012 express và - Cheung


Cũng đừng bỏ lỡ TortoiseGit ...    https://tortoisegit.org/


28
2018-05-26 01:21



Có, đây là giao diện người dùng tốt, nhưng không, nó không tích hợp với Visual Studio. - Scott Rippey
Nhà cung cấp kiểm soát nguồn Git thêm lệnh TortoiseGit vào menu ngữ cảnh trong Visual Studio. - HotN