2010-04-07 70 views
41

Tôi sử dụng Microsoft Visual SourceSafe để kiểm soát phiên bản. Tôi muốn thay đổi cách tiếp cận này và sử dụng phần mềm mới hơn cho công việc này. Sự khác nhau giữa ba ứng dụng này là gì? Cái nào tốt hơn?Sự khác nhau giữa TFS, SVN và GIT là gì?

Các giải pháp này có được tích hợp với studio trực quan không?

+0

Bạn có thể đủ điều kiện ** tốt hơn ** không? Các tính năng đặc biệt? Khả năng sử dụng chung (Tôi giả định dưới cửa sổ cho bạn)? VS tích hợp? – R0MANARMY

+0

Tôi có nghĩa là khả năng sử dụng chung và tích hợp với VS. –

+17

Tất cả chúng đều tốt hơn rất nhiều so với VSS nếu bạn hỏi tôi. –

Trả lời

107

TFS là giải pháp Quản lý vòng đời ứng dụng, SVN và Git chỉ là kiểm soát nguồn.

TFS thực hiện kiểm soát nguồn cũng như theo dõi vấn đề, quản lý tài liệu, báo cáo, tích hợp liên tục, phòng thí nghiệm ảo để thử nghiệm, vv

Nguồn Control & SVN TFS của là kiểm soát nguồn tập trung, Git được phân phối.

Đã có nhiều cuộc thảo luận về Stackoverflow về TFS vs SVN.

TFS được tích hợp chặt chẽ nhất vào Visual Studio.

SVN có một số tùy chọn của bên thứ ba để tích hợp vào Visual Studio và chúng khá đẹp, nhưng không được tích hợp chặt chẽ như TFS.

Git có GitExtensions cho phép mức tích hợp thấp trong Visual Studio.

+49

+1 để nêu rõ sự thật mà không có sự suy xét. –

+3

Ngoài ra: TFS chi phí tiền lên phía trước. Git làm cho phân nhánh và sáp nhập dễ dàng hơn, an toàn hơn và 'rẻ hơn'. – Benjol

+10

TFS giết chết tôi mỗi khi tôi phải làm việc ngoại tuyến. –

3

Tôi chỉ có thể nói chuyện với tích hợp Visual Studio cho SVN. Tôi đã sử dụng cả hai VisualSVNAnkhSVN. Cả hai đều có tích hợp khá chặt chẽ và cho phép bạn thực hiện các thao tác khác nhau từ trình đơn Solution Explorer theo cách bạn thường làm với VSS. Phiên bản 2+ của Ankh (một cái tôi hiện đang sử dụng) đã rất ổn định đối với tôi và thế giới tốt hơn so với các phiên bản cũ hơn.

Điều này giống như một cuộc thảo luận khá chi tiết về việc sử dụng Git with Visual Studio.

+0

Tôi đã thử tất cả những điều đó và cuối cùng sẽ luôn quay trở lại dòng lệnh. Các công cụ GUI luôn cảm thấy như một nửa công việc hack. – kprobst

+1

@kprobst: Hầu hết sự tương tác của tôi với Ankh đều ở dạng Get Latest and Commit, vì vậy tôi không cảm thấy những hạn chế. – R0MANARMY

+3

Tôi sẽ không gọi Ankh là một công việc hack nửa hoàn thành, được rồi. – heisenberg

3

này là để bổ sung các câu trả lời khác, không phải là một câu trả lời đầy đủ như Michael Shimmins hài lòng hầu hết những gì tôi sẽ nói

TFS (đặc biệt là năm 2010) là vô cùng dễ tiếp cận để thực hiện các kỹ thuật kiểm soát nguồn mà bạn sẽ có được khủng khiếp nhấn mạnh để thực thi với VSS. Việc phân nhánh và hợp nhất dễ dàng hơn nhiều với TFS so với SVN để bắt đầu và theo dõi theo thời gian. Tôi sẽ nói điều tương tự về Git từ góc độ tương tác người dùng, nhưng những công cụ đó đang dần dần trở nên tốt hơn.

Git là một công cụ tuyệt vời nếu bạn dành thời gian tăng tốc và các kỹ thuật mà cộng đồng thực hiện theo tiêu chuẩn cũng rất đáng để thử trong bất kỳ hệ thống kiểm soát phiên bản nào. Bạn vẫn sẽ gặp phải xung đột với các tệp SLN và CSProj/VBProj trong các nhóm> 2. Đây là kết quả của cách các tệp đó được cấu trúc và quản lý.

9

Tốt hơn là một cuộc thảo luận lớn, nhưng dọc theo cùng một dòng bạn phải tính đến chi phí.

SVN miễn phí, ở đâu không phải TFS. Tuy nhiên; nếu bạn có Visual Studio của bạn thông qua một thuê bao MSDN và đây là high enough level, sau đó bạn sẽ nhận được TFS2010 miễn phí thông qua tải xuống đăng ký MSDN của bạn khi phát hành. Đây có thể là một yếu tố làm nên sự cân bằng.

Đối với tích hợp với Visual Studio, bạn không thể đánh bại Team Explorer cho TFS. Tuy nhiên, tôi đã sử dụng Anhk với SVN và nó cũng hoạt động tốt. Tôi nghĩ rằng phần còn lại của điều này đã được nói :-)

Hy vọng điều này sẽ hữu ích.

3

Câu hỏi khá cũ, tuy nhiên trong trường hợp ai đó tình cờ gặp: kể từ tháng 1 năm 2013, git đã được tích hợp vào TFS (thông báo: http://www.visualstudio.com/en-us/news/2013-jan-30-vso#git hỗ trợ). Điều đó có nghĩa là nhóm bây giờ có thể sử dụng git làm công cụ kiểm soát nguồn (thay vì, nhưng không cùng với hệ thống điều khiển phiên bản TFS "tích hợp") trong khi vẫn sử dụng phần còn lại của TFS cho các hoạt động như tích hợp liên tục, các vấn đề theo dõi, v.v.

thảo luận gốc trên MSDN: http://blogs.msdn.com/b/visualstudioalm/archive/2013/01/30/getting-started-with-git-in-visual-studio-and-team-foundation-service.aspx

StackOverflow có một tập hợp lớn các cuộc thảo luận liên quan (https://stackoverflow.com/search?q=tfs+git), không thể trỏ đến bất cứ điều gì cụ thể.

Các vấn đề liên quan