2009-05-21 31 views
7

Bạn có chuyển đổi dự án C# được lưu trữ SVN (2-5 nhà phát triển) thành GIT không? Liệu nó có bất kỳ lợi thế mà làm cho nó có giá trị nỗ lực thêm?Chuyển từ SVN sang GIT để phát triển C#?

Tôi nghi ngờ điều đó, nhưng hãy tìm đối số cho cả hai bên.

Trả lời

3

Tôi muốn nói không vì các công cụ GUI cho GIT thực sự nguyên thủy tại thời điểm này.

Svn có VisualSvn, TortoiseSvn giúp việc tích hợp Visual Studio và Windows Explorer thực sự suôn sẻ. IMO "dễ sử dụng" của các công cụ SVN vượt xa kiểm soát nguồn phân tán và chức năng hợp nhất tốt hơn mà GIT cung cấp.

Điều này là do tôi không có kỳ vọng làm việc trên một dự án kiểm soát nguồn mà không có kết nối với kho kiểm soát nguồn. Nếu bạn dành rất nhiều thời gian trên một chiếc máy bay hoặc trên một chiếc thuyền (shortay!) Tôi sẽ cho GIT một thử và xem nếu các công cụ dòng lệnh là đủ.

+0

+1 để tham chiếu đến lập trình thuyền! – Tim

9

Tôi đã chuyển tất cả công việc của mình từ SVN sang Git cho một cửa hàng 2 dev. TortoiseGit hoạt động khá tốt trên Windows và công cụ gitk chỉ làm cho tôi trở thành một người hạnh phúc.

Bạn sẽ vẫn phải quen với git ở chế độ shell trên Windows cho một số tác vụ, nhưng đối với hầu hết quy trình làm việc hàng ngày của bạn, Git GUI, gitk và TortoiseSVN sẽ đưa bạn đến đó. Chất lượng của hệ thống phân nhánh/sáp nhập và lịch sử riêng tư địa phương để nhanh chóng phá vỡ điều gì đó rất, rất đáng giá đối với tôi. Tôi cũng giống như bỏ qua số phiên bản và có thể đẩy công cụ "sạch" vào kho lưu trữ trung tâm từ các chi nhánh cá nhân của tôi.

12

Vâng, điều đó thực sự phụ thuộc vào cách các nhà phát triển của bạn hoạt động và họ có hài lòng với thiết lập Subversion như vậy không. Bạn có đang thực hiện rất nhiều sự hợp nhất và chửi thề trên sự hỗ trợ hợp nhất xấu của Subversions, sau đó Git có thể sẽ làm cho cuộc sống của bạn dễ dàng hơn.

Điều làm tôi khó chịu một chút là nhiều người dường như nghĩ rằng lợi ích chính của Git và DVCS khác là bạn có thể phát triển ngoại tuyến. Đó chỉ là một tác dụng phụ nhỏ của tính năng thực sự của việc có toàn bộ kho lưu trữ trên máy cục bộ của bạn để các chi nhánh, sáp nhập, v.v. có thể được thực hiện mà không cần liên lạc với máy chủ. Trong trường hợp của Git bạn có thể chuyển đổi giữa các nhánh chỉ trong vài giây, khi phải mất vài phút trong Subversion.

Nếu nhà phát triển của bạn quen và muốn học những điều mới, thì việc chuyển đổi sang Git có thể sẽ không có nhiều vấn đề. Mặt khác, nếu bạn có các nhà phát triển thích mọi thứ như thế nào và không thực sự thích khi môi trường làm việc của họ thay đổi, thì có lẽ bạn nên ở lại trong thế giới Subversion.

+0

Mặc dù Subversion lên từ 1.5 hỗ trợ theo dõi hợp nhất và có hỗ trợ tốt hơn cho việc hợp nhất (nhưng cả máy chủ và ứng dụng khách phải từ 1.5 trở lên). –

+3

Vâng, tôi biết điều đó. Nhưng mô hình hợp nhất của Subversion vẫn còn vốn có và thiếu sót sâu sắc, và mọi người vẫn đang kéo tóc của họ khi sáp nhập. Họ không chỉ giết mình nữa. – JesperE

4

Điều khiến tôi rời khỏi SVN là sự chậm chạp của nó trên internet. Khi kho lưu trữ cách xa 100ms, các thao tác đơn giản như cam kết và nhìn thấy lịch sử nhật ký mất vĩnh viễn (hàng chục giây). Với Git, họ lấy phân số của một giây.

Công việc ngoại tuyến cũng tuyệt vời. Một ngày khi mạng lưới trường đại học của tôi ngừng hoạt động, tôi vẫn có thể cam kết và làm việc không bị gián đoạn trên máy tính xách tay của mình. Tôi có thể đẩy các bản cập nhật lên máy chủ trung tâm một thời gian sau đó, khi tính năng tôi đang làm việc hoàn tất và tôi có quyền truy cập internet.

Đối với các dự án mã nguồn mở, DVCS là phải, vì nó cho phép các nhà phát triển mới bắt đầu tấn công ngay lập tức mà không cần phải cấp quyền truy cập vào kho lưu trữ trung tâm.Nó làm giảm mục nhập cho các nhà phát triển mới tham gia dự án.

Tôi đã viết gần đây a blog post về trải nghiệm của mình khi chuyển đổi kho SVN sang Git. Nó có thể giúp bạn, nếu bạn quyết định chuyển khỏi SVN. Cũng nên nhớ rằng với git-svn các nhà phát triển cá nhân có thể sử dụng Git trên máy cục bộ của họ trong khi kho trung tâm là một kho lưu trữ SVN.

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