Kiểm soát phiên bản để phát triển trò chơi - vấn đề và giải pháp? [đóng cửa]


106

Có rất nhiều hệ thống kiểm soát phiên bản có sẵn, bao gồm các hệ thống nguồn mở như Subversion , GitMercurial , cộng với các hệ thống thương mại như Perforce .

Làm thế nào tốt họ hỗ trợ quá trình phát triển trò chơi? Các vấn đề khi sử dụng VCS, liên quan đến các tệp không phải là văn bản (tệp nhị phân), các dự án lớn, et cetera là gì? Giải pháp cho những vấn đề này là gì, nếu có?

Để tổ chức các câu trả lời, chúng ta hãy thử trên cơ sở mỗi gói. Cập nhật từng gói / câu trả lời với kết quả của bạn.

Ngoài ra, vui lòng liệt kê một số chi tiết ngắn gọn trong câu trả lời của bạn, về việc liệu VCS của bạn là miễn phí hay thương mại, được phân phối so với tập trung, v.v.

Cập nhật : Tìm thấy một bài viết hay so sánh hai trong số các VCS bên dưới - rõ ràng, Git là MacGyver và Mercurial là Bond . Chà, tôi mừng vì đã ổn định ... Và cuối cùng tác giả có một câu trích dẫn hay:

Bạn có thể chuyển đổi thành những người chưa chuyển sang VCS phân tán, nhưng cố gắng chuyển đổi người dùng Git thành Mercurial (hoặc ngược lại) là lãng phí thời gian và sức lực của mọi người.

Đặc biệt vì kẻ thù thực sự của Git và Mercurial là Subversion . Dang, đó là một thế giới ăn mã ở ngoài đất trong ...


Lưu ý - điều này nhằm thay thế Câu hỏi gamedev.stackexchange.com/questions/245/ . Trong 72 giờ tôi sẽ xóa câu hỏi đó - bây giờ tôi để nó lại, để mọi người có thời gian sao chép Câu trả lời / nhận xét của họ cho Câu hỏi này . :)
Cyclops

Đây có lẽ sẽ là một trong những câu hỏi yêu thích của tôi, nếu mọi người làm theo hướng dẫn chỉnh sửa. Làm việc trên một giải pháp cụ thể của Game Dev cho việc này ngay bây giờ: D
Jesse Dorsey

@Noctrine, bạn phải thêm từ chối trách nhiệm nếu , phải không? :) Tất nhiên mọi người sẽ làm theo hướng dẫn ...
Cyclops

Đừng xóa câu hỏi khác. Nếu nó thực sự lạc đề (tôi không nghĩ vậy) thì nó có thể bị đóng và lưu trữ. Nó cũng có thể được đóng lại như một bản sao của cái này.
Firas Assaad

@Firas, nó đã bị đóng - và mở lại :) Bất kể, tôi nghĩ công thức này tốt hơn (và vâng, đó là wiki) - và nếu mọi người sao chép câu trả lời của họ, thì câu hỏi này sẽ bao gồm tất cả thông tin trong câu hỏi khác.
Cyclops

Câu trả lời:


71

Git

Gần đây tôi đã ở trên băng nhóm Git (Tôi đã sử dụng SVN và Mercurial). Cho đến nay tôi thực sự thích những gì tôi nhận được với Git. Nó là một nỗi đau để thiết lập và nhiều công cụ phát triển đang bắt đầu chấp nhận sử dụng nó.

Đây là một hệ thống kiểm soát phiên bản phân tán. Điều này cho phép chúng ta có khu vực giống như thân cây độc lập của riêng mình. Tôi có thể làm việc trong khu vực của riêng mình và mời bạn xem các thay đổi rất dễ dàng. Tôi có thể quay trở lại trong không gian của riêng mình mà không làm hỏng repo trung tâm. Tôi có thể cam kết, chi nhánh và làm mọi thứ bạn có thể làm với SVN tại địa phương. Tôi thực sự thích có sự kiểm soát này.

Với SVN, bạn cần truy cập vào repo của mình để cam kết. Điều gì xảy ra nếu bạn đang trên đường hoặc tại một quán cà phê không có internet? Không tốt.

Chắc chắn, SVN đơn giản hơn nhiều để học nhưng tôi nghĩ rằng những lợi thế của kiểm soát nguồn phân tán phần lớn vượt xa thực tế là nó có một chút ít học.

Tôi cũng thích rằng nó thông minh hơn về việc hợp nhất.

Một nhược điểm lớn của GIT là nó lưu trữ toàn bộ lịch sử cục bộ. (Có, bạn có thể thực hiện phẫu thuật để cắt giảm, nhưng đó là hành vi mặc định). Hoàn toàn không phải là vấn đề đối với các tệp nguồn, nhưng nếu bạn có một dự án lớn với hàng gigabyte dữ liệu tài sản, nó sẽ trở thành một vấn đề nhanh chóng. Theo kinh nghiệm hiện tại của tôi, tôi chỉ khuyên dùng GIT cho các repos nhỏ hơn hoặc chỉ nguồn.

Nếu bạn vẫn tò mò về GIT, hãy xem http://thkoch2001.github.io/whygitisbetter/ để biết một số thông tin / số liệu tốt. Đồng thời kiểm tra xem https://git.wiki.kernel.org/index.php/GitSvnComparsion


1
Tôi thích ý tưởng phân cấp các nhánh cho phép QA kiểm tra các thay đổi trước khi chúng chuyển sang tuyến chính, hoặc dễ dàng tạo và xác thực các bản demo.
tenpn

@tenpn, đó là một tính năng của VCS phân tán nói chung, hay chỉ là Git?
Cyclops

1
Tôi đã nghe nói rằng cả Git và Mercurial đều phải chịu đựng khi đẩy các tệp rất lớn vào chúng. Có sự thật nào cho tin đồn đó từ những người có nhiều kinh nghiệm hơn tôi không?
drhayes

6
Git là tốt và tất cả nhưng khi xử lý các tài sản đồ họa hoặc âm nhạc lớn, chẳng hạn như lớn hơn 100 MB, nó trở nên chậm đáng chú ý khi cam kết và thanh toán. Hiện tại, Mercurial, ứng cử viên của Git, có phần mở rộng "tệp lớn" giải quyết vấn đề cụ thể này. Nếu bạn có một dự án trò chơi không có nhiều tài sản, bạn có thể thử Git.
Spoike

3
Tại sao không sử dụng các mô hình con của Git để quản lý các tệp nhị phân? Bằng cách đó, bạn có thể tạo các kho riêng biệt khi cần thiết và sau đó liên kết chúng lại với nhau bằng cách sử dụng các mô hình con. Bất kỳ thay đổi trong tương lai trong kho lưu trữ chính sẽ không ảnh hưởng đến các mô hình con.
Alex Schearer

62

Không kiên định

Các tính năng chính:

  • VCS phân phối
  • Miễn phí, mã nguồn mở
  • Các tập lệnh plugin rất dễ viết --- có thể được viết bằng Python hoặc dưới dạng các tập lệnh shell
  • Có rất nhiều tập lệnh plugin đã có sẵn miễn phí
  • Rất nhiều tài liệu có sẵn, bao gồm cả cuốn sách này (rất khuyến khích)

Liên quan đến việc sử dụng các tệp không phải là văn bản, các phiên bản cuối cùng của Mercurial (> = 2.0) cung cấp tiện ích mở rộng lớn theo mặc định :

tinyefiles giải quyết vấn đề này bằng cách thêm một lớp máy chủ-máy khách tập trung ở trên cùng của Mercurial: tinyefiles sống trong một cửa hàng trung tâm trên mạng ở đâu đó và bạn chỉ tìm nạp những thứ bạn cần khi bạn cần.

Có các tiện ích mở rộng khác cung cấp các giải pháp tương tự như tiện ích mở rộng bigfiles cho phép bạn lưu trữ tài sản của mình trong cùng một repo Mercurial, nhưng chỉ lấy các tệp nhị phân bạn cần khi bạn cần chúng.

Tôi không nhận thức được bất kỳ vấn đề nào liên quan đến các dự án lớn ngoài những vấn đề liên quan đến việc có các tệp nhị phân lớn. Dự án Python là một dự án lớn và sử dụng Mercurial .

Joel Spolsky đã viết một hướng dẫn nhỏ về việc sử dụng Mercurial tại Subversion Re-giáo dục


4
Lưu ý thú vị về Tiện ích mở rộng Bigfiles - giải quyết một trong những vấn đề được báo cáo trong luồng gốc, rằng VCS phân tán sẽ không phù hợp với các sản phẩm trò chơi có số lượng lớn tài sản tệp nhị phân.
Cyclops

1
+1 cho Mercurial. Nó nhanh, dễ sử dụng và mạnh mẽ đáng ngạc nhiên. :) Tôi đang sử dụng nó cho tất cả mọi thứ: phát triển web, phát triển trò chơi, dự án cá nhân và dự án nhóm. Cảm ơn đã giới thiệu tiện ích mở rộng BigFiles!
jacmoe

Liên quan đến các dự án lớn - TortoiseHg dường như đi chậm hơn nhiều trên một kho lưu trữ lớn với 8 năm sửa đổi so với trên một kho lưu trữ nhỏ với ít hơn 20 bản sửa đổi. Tôi vẫn chưa biết liệu đây là một cái gì đó cụ thể cho Rùa hay nói chung với Mercurial.
Kylotan

4
Dường như không có một tùy chọn nào có thể so sánh được svn:needs-lock, và vì cũng không có cách nào để nói ai đang làm việc cục bộ trên các tệp nào , bạn quay trở lại để chuyển một bát xung quanh nhóm, theo nghĩa đen (bạn không được phép chỉnh sửa mà không cần bát trên bàn của bạn). BigFiles mở rộng hay không, VCS này vô dụng đối với các tệp nhị phân mà không có giải pháp thực tế cho việc này.
Sam Harwell

3
Bất kể hỗ trợ bigfile là gì, nếu hai người chỉnh sửa, giả sử, một tệp Maya cùng một lúc, một người sẽ đăng ký và người kia sẽ phải làm lại công việc. Với Perforce, ít nhất, bạn có thể biết rằng ai đó đang chỉnh sửa tệp (và cũng tự động có khóa trên tệp đó).
dash-tom-bang

39

Lực lượng

Perforce (thương mại / nguồn đóng, tập trung) là tiêu chuẩn công nghiệp vì một số lý do.

  1. Đây là một sản phẩm thương mại, có nghĩa là nó đi kèm với hỗ trợ thương mại. Các dự án nguồn mở có thể đủ điều kiện để được cấp phép miễn phí (trừ hỗ trợ kỹ thuật).
  2. Nó hỗ trợ không gian làm việc rất tốt , cho phép bố trí thư mục tài sản và nguồn rất linh hoạt.
  3. Nó hỗ trợ thay đổi rất tốt .
  4. Bạn có thể thấy ai đang làm việc trên cái gì. Các trò chơi có số lượng tệp nhị phân (tài sản) thay đổi nhanh bất thường so với các dự án phát triển khác. Hầu hết thời gian này là không thể hợp nhất, vì vậy theo dõi xem ai có cái gì / ở đâu / khi nào là quan trọng. Các máy khách Subversion và DSCC cố tình tránh kỹ thuật này, nhưng nó khá có lợi trong một số ứng dụng nhất định.
  5. Nó hỗ trợ mã cơ sở / tài sản khổng lồ . Nó không lưu trữ dữ liệu trùng lặp trên các máy khách, điều này rất quan trọng khi chế độ xem phụ của cây là vài chục hợp đồng biểu diễn.

Điều đó nói rằng, rõ ràng là rất rõ ràng trên cơ sở gần như hàng ngày rằng Perforce không cảm thấy vị trí của họ trong ngành bị đe dọa. Các công cụ trực quan của họ, bao gồm P4V và P4SCC (tích hợp với Visual Studio) rất chậm và có lỗi, với công cụ sau được biết là đóng băng Visual Studio để thưởng thức tuyệt đối. AnkhSVN là dặm trước Perforce.

Nhận xét của xan: Điều đáng chú ý là tuy nhiên công cụ hợp nhất của họ, P4Merge (được sử dụng để phân tán và hợp nhất) là tuyệt vời và vượt trội hơn nhiều so với công cụ của Rùa hợp. Đáng ngạc nhiên, thành phần này có sẵn miễn phí như là một phần của gói P4 Visual Tools.

Nhận xét bằng lát cắt: Một nhược điểm khác với Perforce là việc phân nhánh trong đó có xu hướng là một nỗi đau rất lớn, đặc biệt là nếu bạn có những cây lớn. Hầu như mọi vcs khác là tốt hơn trong việc phân nhánh và sáp nhập. Đây thường là một mức giá nhỏ để trả cho những lợi thế trên mặc dù.

Nhận xét bởi roe: Perforce cực kỳ hay nói. Không có gì nhiều xảy ra mà không có máy chủ liên quan. Đáng chú ý nhất, bạn cần máy chủ để thực hiện chỉnh sửa mở, điều đó có nghĩa là bạn cần phải nhảy qua một vài vòng nếu bạn có ý định ngắt kết nối với máy chủ.

Nhận xét của jrista: Là người dùng hàng ngày của Perforce trong hơn hai năm nay, với đội ngũ phát triển mở rộng và kỹ thuật chất lượng hơn 100 người, tôi đã trở nên thân thiết với nó. Mặc dù nó là một hệ thống kiểm soát nguồn tốt, nhưng nó có nhược điểm là những người đánh giá các hệ thống SCC nên nhận thức được:

  • Như đã đề cập bởi những người khác, phân nhánh / tích hợp đặc biệt cồng kềnh và khó thực hiện. Bạn có một lượng kiểm soát vô duyên, nhưng nó phải trả giá bằng sự phức tạp quá mức. Mặt khác, công cụ hợp nhất trực quan là một trong những loại và trình bày một giao diện hợp nhất "dựa trên" ba tệp đẹp về công việc của bạn. Perforce cung cấp một số hình ảnh đồ họa của các đường dẫn nhánh (được gọi là Đồ thị sửa đổi), tuy nhiên cách nó được trực quan hóa thường làm cho công cụ trở nên vô dụng. Nếu bạn chỉ cần xem một phân đoạn thời gian rất nhỏ cho một hoặc rất ít tệp, nó có thể hữu ích ... bất cứ điều gì nữa và gần như không thể điều hướng Biểu đồ sửa đổi.
  • Perforce cũng không phải là một công cụ rất hiệu quả, vì hầu như mọi thao tác tệp đều yêu cầu sao chép tệp và dữ liệu: phân nhánh, ghi nhãn, thay đổi danh sách, v.v. Không có thẻ hoặc phân nhánh thưa thớt hoặc nhẹ ở đây. Nếu bạn không ngại sử dụng một lượng không gian đĩa khổng lồ để theo dõi các thay đổi của mình, thì lực lượng có thể sẽ phục vụ tốt cho bạn. Nếu không, tôi sẽ tìm đến một công cụ khác.
  • Perforce sử dụng các không gian làm việc, tuy nhiên đôi khi chúng có thể gây khó chịu, vì perforce lưu trữ tất cả trạng thái trong không gian làm việc của bạn, thay vì sử dụng các tệp thực tế trên đĩa để xác định một số trạng thái. Điều này thường dẫn đến các tệp không được đồng bộ hóa vì không gian làm việc của bạn cho biết chúng được cập nhật, khi, vì lý do nào, các tệp vật lý trên đĩa thực sự KHÔNG cập nhật.
  • Một phiền toái cuối cùng, Perforce khá tàn bạo trên mạng của bạn. Đây là một chương trình cực kỳ hay nói và tiêu tốn một lượng băng thông đáng kể. Bất kỳ mất kết nối mạng nào và bạn có nguy cơ cao không thể thực hiện bất kỳ công việc nào với các tệp được kiểm soát nguồn của mình cho đến khi kết nối được khôi phục. Cho đến nay, tôi chưa phát hiện ra một hoạt động nào có thể được thực hiện ngoại tuyến trong Perforce.

2
Một ưu điểm khác của Perforce là nó miễn phí cho hai người dùng đầu tiên, rất phù hợp cho các dự án sở thích nhỏ hoặc hai người đánh giá sự phù hợp của nó đối với một dự án lớn hơn.

Từ kinh nghiệm của tôi điểm 5 từ câu trả lời của bạn là rất đúng. Nó là vô cùng có thể mở rộng. Lỗi rất hiếm, hỗ trợ nhanh. Không chắc chắn về chi phí, Yacine lưu ý rằng nó miễn phí cho hai người dùng đầu tiên. Đối với các studio nhỏ hơn với các trò chơi nhỏ hơn, sẽ đáng để đánh giá các lựa chọn khác. Tích hợp Visual Studio là một chút ra khỏi hộp; nhưng chúng tôi đủ may mắn để có một người đam mê Perforce hoàn chỉnh tại studio của chúng tôi viết một nhà cung cấp nguồn tuyệt vời cho VS từ đầu.
paulecoyote

Perforce là tuyệt vời, nếu bạn có thể đủ khả năng. Tôi đã không sử dụng tất cả các hệ thống kiểm soát phiên bản ngoài kia, nhưng trong 10 năm phát triển trò chơi thương mại và một số hệ thống kiểm soát phiên bản, đó là hệ thống kiểm soát phiên bản tốt nhất mà tôi đã sử dụng. Nó xử lý các tệp dữ liệu lớn một cách nhanh chóng và đáng tin cậy, và nếu được thiết lập đúng cách, sẽ hoạt động tốt trong thiết lập nhiều trang web trên các kết nối internet tương đối chậm. Tích hợp Visual Studio có thể không hoàn hảo, nhưng nó khá chắc chắn.
bluescrn

1
Nếu tôi phải chọn một VCS để phát triển trò chơi (quy mô lớn), đó sẽ là Perforce. Nếu tôi có thể chọn nhiều, tôi sẽ thêm DVCS cho nội dung văn bản (mã, tập lệnh và các tệp dữ liệu linh tinh khác) nhưng giữ Perforce cho tài sản nhị phân.
dash-tom-bang

2
Tôi đã làm việc trong một dự án trò chơi lớn sử dụng Perforce và hoàn toàn hoang mang rằng bất cứ ai cũng sẽ trả tiền cho nó. Sự cần thiết phải được đồng bộ hóa với máy chủ là đáng ghét, ngay cả trên mạng LAN. Tôi hiểu tính năng "điều hòa công việc ngoại tuyến" nhưng trong thực tế, quy trình làm việc rất khó chịu khi có trục trặc mạng mà bạn không làm việc. Nếu bạn không sử dụng IDE có plugin P4 hoặc bạn chỉ muốn chỉnh sửa tệp ở đây và từ dòng lệnh hoặc công cụ khác, bạn phải quay lại ứng dụng khách P4 và thực hiện một số thao tác ghi sổ. Không có VCS nào khác đưa ra quá nhiều rào cản để thực hiện công việc.
Suboptimus

27

Lật đổ

  • Nguồn mở, tập trung

  • Các tệp Blender - Tôi không hoàn toàn chắc chắn nếu các tệp .blend là nhị phân (chúng trông giống như vậy), nhưng tôi không gặp vấn đề gì khi thêm chúng vào Subversion. Đã thực hiện một vài thử nghiệm, việc tăng kích thước tệp cho các tệp đã thay đổi xuất hiện trên danh nghĩa, do đó, nó không chỉ đơn giản là sao chép trong toàn bộ tệp.

  • Các dự án lớn - Nó hoạt động, mặc dù nó có thể trở nên kỳ quặc. Nó chắc chắn có thể xử lý các kho lưu trữ ít nhất 5,5 GB (tổng kích thước của thư mục kho lưu trữ trên máy chủ; chủ yếu là tài sản nhị phân).

  • Dữ liệu trùng lặp trên Máy khách - Subversion giữ một bản sao trùng lặp của mọi tệp trong không gian làm việc của người dùng dưới dạng bản sao nguyên sơ. Ưu điểm của việc này là bạn có thể thực hiện tìm khác hoặc hoàn nguyên mà không cần quay lại máy chủ. Nhược điểm là 10 GB tệp làm việc của bạn chiếm 20 GB dung lượng đĩa.

  • Danh sách bỏ qua là một thuộc tính của một thư mục (đơn giản với một gui, gây phiền nhiễu trên dòng lệnh).

  • Subversion cho phép khóa các tệp / tài sản - điều này thực sự hữu ích nếu nhiều nghệ sĩ và nhà thiết kế làm việc trên cùng một tệp.

  • Externals là một cách tuyệt vời để xử lý mã được chia sẻ (ví dụ thư viện hoặc cơ sở) giữa các dự án.


Các dự án lớn - KDE, Gnome.
Matias Valdenegro

* FSFS có thể rất dễ vỡ để phục hồi - vì vậy cần cẩn thận hơn với các bản sao lưu. * Dễ hiểu, TortoiseSvn là một khách hàng tuyệt vời. * Trình theo dõi lỗi nguồn mở, hệ thống tích hợp liên tục, v.v ... thường có hỗ trợ cho Subversion "ngoài hộp". * Có một số sách hay về sử dụng Subversion.
paulecoyote

1
@paulecoyote, đây là một bài viết trên wiki, vui lòng chỉnh sửa nó với thông tin mới, không chỉ bình luận.
Cyclops

1
SVN rất tuyệt khi sử dụng với Rùa SVN ( tortoisesvn.net ), một ứng dụng khách tích hợp độc đáo vào menu ngữ cảnh và cung cấp guis cho mọi hành động. Thật không thể tin được, rùa không có cổng Linux / Mac OS (ít nhất là bằng văn bản này). Protip: nếu làm việc với nhiều người, luôn cập nhật (và hợp nhất / giải quyết xung đột) TRƯỚC KHI cam kết.
Exilyth 23/03/13

7

AlienBrain

Từ Avid :

Alienbrain là một hệ thống quản lý tài sản kỹ thuật số cho các nghệ sĩ trong ngành giải trí

  • Thương mại (đắt hơn Perforce), tập trung
  • Được thiết kế để tích hợp với các công cụ quy trình làm việc 2D và 3D chuyên nghiệp khác như Photoshop, Maya, 3ds Max, Microsoft Visual Studio, v.v.

Tôi không có kinh nghiệm với AlienBrain, và chỉ nghe về nó từ cuốn sách Game Coding Complete của Mike McShaffry. Anh ta dường như nghĩ rất cao về nó, tuy nhiên:

Các nghệ sĩ và những người đóng góp khác sẽ thực sự sử dụng sản phẩm này, không giống như những người khác được thiết kế chủ yếu để tích hợp tốt với Visual Studio và không phải các ứng dụng sáng tạo như Photoshop và 3D Studio Max. Một trong những nhược điểm lớn của các sản phẩm khác là cách xử lý các tệp không phải văn bản khá ngây thơ của chúng. AlienBrain đã được viết với những tập tin này trong tâm trí.

Tất nhiên, ông cũng mô tả nó như sau:

Đối với những bạn có vấn đề theo dõi tài sản thực sự nghiêm trọng và ngân sách không kém phần nghiêm trọng ...


ĐÚNG! Cuối cùng, một người có được nó: tài sản và mã cần các công cụ khác nhau! +1
jacmoe

3
Kinh nghiệm của tôi với AlienBrain là các tác giả không được phát triển trò chơi. Nó không phải là một giải pháp kiểm soát nguồn mạnh mẽ. Một số tính năng phù hợp với một số người trong nhóm, nhưng một số tính năng được quảng cáo thú vị nhất không được triển khai theo cách hữu ích (ví dụ: giao diện dàn, nơi ai đó có thể kiểm tra tài sản của họ "để xem xét." không có cách nào để biết những gì được xem xét và những gì không, và khi bạn đồng bộ hóa, bạn vẫn nhận được nó. Thêm vào đó, nó không lưu trữ gì, do đó, đồng bộ hóa yêu cầu kiểm tra từng tệp một. Điều này là chậm với nhiều hợp đồng tài sản. :)
dash-tom-bang

Điều hữu ích duy nhất về AlienBrain là cửa sổ xem trước hoạt động với các tệp Max. Tất cả mọi thứ khác là rác hoàn toàn.
tenpn

1
Không chắc nó mang tính xây dựng như thế nào vì nó không phải là trải nghiệm đầu tiên, nhưng tôi đã làm việc với một vài dự án đã sử dụng AlienBrain trước khi tôi làm việc trong dự án, và không sử dụng nó nữa, và không ai có thể nói về điều đó nó Ký ức của tôi về việc đọc về nó và truyền miệng là nó bùng nổ tại hiện trường, nghe có vẻ rất tuyệt và một số người có thể đủ khả năng đã thử nó và cuối cùng nhận ra đó là một sai lầm.
Suboptimus

3

Nhóm máy chủ nền tảng

từ Microsoft

  • Thương mại
  • Tập trung
  • Tích hợp rất tốt với Visual Studio
  • Tích hợp Windows Explorer tốt cho người dùng không VS (tức là nghệ sĩ)
  • Hỗ trợ các thay đổi "Được sắp xếp", tương tự như 'stashing' trong git, nhưng nó đi lên máy chủ; bạn cũng có thể đặt các giá này ở chế độ công khai để cho phép người dùng khác tích hợp chúng cho bạn.
  • Từ năm 2012, nó có một số quy trình đánh giá mã rất tốt được tích hợp trực tiếp vào Visual Studio
  • Phiên bản mới nhất của công cụ hợp nhất là rất tốt đẹp. Tự động hợp nhất hoạt động khá tốt.
  • Hỗ trợ các tệp lớn và liên kết tốt (rõ ràng bạn không thể hợp nhất chúng)
  • Xây dựng máy chủ rất tốt
  • Hỗ trợ đăng ký kiểm soát, cho phép đánh giá chất lượng của một kệ (thông qua các bản dựng tự động, kiểm tra đơn vị, phân tích mã) trước khi cam kết với kho lưu trữ.
  • Các công cụ quản lý dự án rất tốt (không phải là các tính năng kiểm soát nguồn nghiêm ngặt, nhưng thực sự hữu ích), mang lại khả năng truy nguyên từ các yêu cầu cấp cao cho đến mã.

Tôi đã sử dụng TFS rộng rãi cho các dự án giả lập MILSPEC và nó khá tốt. Có lẽ không phải là tốt nhất nếu bạn đang sử dụng máy Mac, mặc dù có một plugin nhật thực ngày nay. Phiên bản được lưu trữ trên đám mây hỗ trợ kho git cho back-end kiểm soát nguồn.

Nó miễn phí cho tối đa năm người dùng trên Visual Studio Online (cho phép nguồn đóng; không giới hạn kích thước kho lưu trữ), nơi nó được lưu trữ trên đám mây. Nếu bạn muốn lưu trữ nó tại địa phương, nó có thể tốn kém.

Điều tôi thích nhất ở nó là các tính năng quản lý kỹ thuật phần mềm và thực tế là nó xử lý các tệp lớn và tệp nhị phân khá vui vẻ.


1
Visual Studio Online mới miễn phí cho tối đa 5 người dùng và được lưu trữ trên đám mây (được sao lưu độc đáo, v.v.) Có thể thực hiện TFS hoặc Git với nó. Tuyệt vời cho phát triển game indie.
Robert Fraser
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.