Hệ thống kiểm soát phiên bản yêu thích của bạn là gì? [đóng cửa]


41

Đây là một câu hỏi thảo luận nhiều hơn là một nỗ lực thực tế để xác định "tốt nhất", vì điều đó thay đổi rõ ràng theo nhu cầu của tổ chức. Tôi tò mò hơn về các đối số có lợi cho các hệ thống khác nhau trên các danh mục (tập trung so với phân phối, mở so với độc quyền, v.v.).

Vì vậy, bạn nghĩ gì là hệ thống kiểm soát phiên bản tốt nhất?


1
vi.wikipedia.org/wiki/Comparison_of numvision_control_software là một bảng so sánh tuyệt vời cho chính xác điều này. Câu hỏi thảo luận ... wiki cộng đồng?
Chris

4
Người đầu tiên đăng tên, được rep rep Đây phải là wiki cộng đồng.
takeshin


Không nhận thấy đây đã là một wiki cộng đồng .
takeshin

Câu trả lời:


81

Không kiên định

Do khả năng phân nhánh và hợp nhất mã phức tạp, đây là cách tốt nhất tôi đã sử dụng. Toàn bộ mô hình DVCS chỉ có ý nghĩa rất nhiều. Tôi đã không sử dụng Git, nhưng tôi cho rằng nó cũng đủ điều kiện.


Tôi đã phải dùng thử Mercurial một thời gian kể từ khi tôi đã thử 2 trong số 3. Lớn và vì Google Code hỗ trợ nó ...
TheLQ

2
Mercurial thật ngọt ngào nếu bạn đang sử dụng Netbeans. tích hợp IDE là hoàn hảo.
Seun Osewa

4
Tôi thích Mercurial đơn giản vì TortoiseHg trưởng thành hơn TortoiseGit :-) (toàn bộ trải nghiệm trên Windows cũng tốt hơn nhiều trong Mercurial)
Dean Harding

+1, tôi đề nghị làm cho Mercurial đậm và lớn hơn (như Gaurav đã làm trong câu trả lời của anh ấy)
Tim Post

Mercurial khá ngọt ngào. Tôi và nhóm của tôi đã sử dụng nó được khoảng 2 tháng và đó là một luồng không khí trong lành so với SVN.
Gary Willoughby

72

Git

Git thật tuyệt vời và tôi đặc biệt muốn giới thiệu nó cho bất kỳ ai làm việc trong các dự án nguồn mở: việc đóng góp một thay đổi nhỏ, một lần cho một dự án trên Git, đặc biệt là nếu nó được lưu trữ trên GitHub, hơn là giao dịch với e- gửi bản vá về SVN.

Một cảnh báo lớn cho người dùng Windows: Các công cụ Windows của Git, mặc dù chắc chắn có thể sử dụng được, nhưng không hoàn toàn khó hiểu. Khi tôi buộc phải sử dụng Windows một thời gian, tôi đã thử giao diện Windows của Mercurial với công cụ tích hợp Hg-Git để tôi có thể sử dụng kho Git của mình và thấy rằng nó dễ sử dụng hơn rất nhiều.


5
Tôi nghĩ là quan trọng để nói rằng git là khó khăn. Tôi thực sự thích nó, nhưng nó không phải là thứ bạn có thể sử dụng để học nó trong một vài ngày. Bạn phải sử dụng nó một lúc và tức giận cho đến khi bạn chuyển sang ... ;-)
Khelben

1
@Khelben - Có một số sự thật trong đó, vâng. Tuy nhiên, nó dường như cũng có lượng tài liệu / bài viết / hướng dẫn lớn nhất trên mạng dành riêng cho nó. Tôi thường xuyên tìm thấy những cuốn sách Git sắp ra mắt, Mercurial - không nhiều lắm (sử dụng Mercurial ở đây như một sự tương phản, vì nó theo nhiều cách tương tự như Git). Không thể nói là tốt hay xấu, nhưng có vẻ như mọi người đang sử dụng nó.
Rook

2
msysgit có thể sử dụng được trong Windows.

1
Tôi cho rằng git, Mercurial v.v ... đều khá tốt, nhưng tôi đã đi git chủ yếu vì auf GitHub. GitHub cảm thấy đẹp hơn các trang web tương đương và nhiều dự án quan trọng được lưu trữ ở đó. GitHub hạ thấp rào cản đóng góp cho Nguồn mở rất nhiều.
LennyProgrammer

2
Mercurial không CẦN một cuốn sách.
Warren P

24

Cảnh báo: Vì bài đăng này tôi đã tìm thấy Mercurial và yêu thích nó hơn SVN rất nhiều. Vì vậy, bài đăng này hơi lỗi thời với các bình luận Pro SVN và chống DVCS nói chung, nhưng các công cụ chống git vẫn có liên quan


Tôi là một fan hâm mộ của SVN trên Git.

Tại sao? Bởi vì SVN dễ dàng hơn nhiều đối với một nhà phát triển hoặc nhóm nhỏ, và git (cụ thể là msysgit) đã để lại cho tôi một mùi vị tồi tệ trong miệng.

Khi tôi đang thực tập tại một cửa hàng nhỏ, tôi đã được giới thiệu về git trên Windows. Tôi ngay lập tức nhận thấy khối lượng công việc cần thiết để khiến nó hoạt động với Github. Đầu tiên, tôi phải tạo khóa riêng ssh, dán khóa công khai vào Github, sau đó mở cuộc thi và mở khóa riêng của tôi mỗi lần tôi muốn ấn, điều này cực kỳ khó chịu.

Và tôi không bao giờ thực sự thích rằng tôi đã kéo xuống toàn bộ kho lưu trữ. Tôi sẽ thừa nhận rằng tôi chưa bao giờ làm việc với bất cứ thứ gì to lớn, nhưng tôi sẽ sợ tải xuống kho lưu trữ của KDE trong Git nếu toàn bộ repo và bản sửa đổi của nó có trên HD của tôi.

Sau đó là quá trình khó hiểu để thực hiện một cam kết. TMK, trước tiên tôi phải "giai đoạn" tất cả các tệp tôi muốn cam kết (đã bị hút khi bạn có nhiều tệp, tôi mất một lúc để tìm lệnh thủ công để xử lý mọi thứ), sau đó thực hiện cam kết, sau đó đẩy vào chính repo (tại sao đó là một hoạt động riêng biệt?!).

Bạn cũng có dữ liệu cam kết không hữu ích (!). Hãy nhìn xem, đây là cam kết 14f74433245ae17aeeaa của cây 2167a4934d0a4a7db0de và cha mẹ d7042abb4821d3faf600. Điều đó có nghĩa là gì? Tôi sẽ có thể tìm ra mọi thứ khá nhanh chóng và không phải tham khảo một số tài liệu kỳ lạ.

Nói về tài liệu, ít nhất là khi tôi đang sử dụng nó, dường như mọi thứ đều ở định dạng tệp linux man, IE khó hiểu và vô dụng với tôi. Tôi hiếm khi có thể tìm thấy nhiều sự giúp đỡ trong các tài liệu và chỉ đơn giản là dùng đến google.

Và với các cam kết, một điều mà tôi không thích là thiếu số phiên bản. Bây giờ tôi biết rằng điều này là do thiết kế của git, nhưng bất kỳ phần mềm nào cũng cần số phiên bản. Tôi vẫn còn nhớ các cam kết đánh dấu sẽ bật lên nói rằng "Phiên bản đã thay đổi thành 1.8.6" hoặc một cái gì đó tương tự, nhưng bạn vẫn không thể tạo số. Đối với tôi, phiên bản là 1.8.6.5164 (phần cuối là số sửa đổi) cho tôi biết nhiều hơn chỉ đơn giản là 1.8.6 và một lưu ý nói rằng một cái gì đó nhỏ đã thay đổi, hãy thử nó

Lấy phần mềm cụ thể, chương trình cơ bản trên Windows là msysgit, một giao diện khủng khiếp. Nó đã khóa tôi vài lần, có giao diện khủng khiếp và tích hợp CLI-GUI là iffy tốt nhất. Những người nghiện dòng lệnh xung quanh tôi thậm chí còn ghét gui hơn.


Bây giờ hãy nhìn vào SVN. Và vì tôi đang ở trên Windows và có tài khoản google, cụ thể là TortoiseSVN và Google Code.

Đầu tiên, tích hợp shell hoàn chỉnh để làm mọi thứ trên kho lưu trữ (và đối với bạn là người linux, RabbitVCS cũng làm điều tương tự), không cần GUI chính. Nhận một kho lưu trữ dễ dàng như một kiểm tra, không cần SSH (không thể nhớ nếu Github yêu cầu SSH cho các lần kéo) và không có toàn bộ repo + tất cả các cam kết trong quá khứ ngồi trên HD của bạn.

Cam kết cực kỳ dễ dàng, chủ yếu là do không yêu cầu SSH hoặc dàn dựng. Bạn chỉ cần kiểm tra tất cả các tệp bạn muốn bằng tùy chọn chọn tất cả rất hữu ích mà trong phiên bản msysgit của tôi không có sẵn, nhập tin nhắn cam kết và nhấn commit. Google Code sau đó hỏi bạn về thông tin đăng nhập của bạn (mà hầu hết khách hàng lưu trữ) và bạn đã hoàn thành. Đơn giản, dễ dàng và không có SSH

Số phiên bản? Với một số mã dễ dàng, bạn có thể thêm số phiên bản và số cam kết vào tất cả các kiểm tra, điều này làm cho mọi việc trở nên dễ dàng hơn nhiều. Bạn cũng có được các số phiên bản có thể sử dụng thực sự cho thấy một sự thay đổi, ví dụ 1.8.6.5165 mới hơn 1.8.6.5164.

Tài liệu? Chà, thật khó để nói Rùa được ghi lại, nhưng tôi thực sự đã không tham khảo tài liệu chính thức trong một thời gian dài mà tôi không thể phán xét. Đọc một hướng dẫn giới thiệu đơn giản là đủ cho tôi.

Sáp nhập là một cái gì đó khác tôi không thể so sánh. Tôi đã phải làm điều đó một lần trong Git khi có người khác cam kết thay đổi tệp tôi đang làm việc, nhưng không bao giờ ở SVN.


Tôi muốn giới thiệu cái nào? Trong các nhóm lớn, git có lợi thế của nó, chủ yếu trong chu kỳ phát triển phi tuyến tính. Trong một dự án khác, tôi thấy 4 lập trình viên bắt đầu trong các nhánh riêng biệt, sau đó hợp nhất tất cả các mã theo những cách rất lạ mà bằng cách nào đó đã biến thành nhánh chính cuối cùng. Github và msysgit đã có một công cụ trực quan thực sự tốt cho toàn bộ dự án mà tôi thực sự thích.

Đối với các nhà phát triển đơn lẻ hoặc các dự án nhóm nhỏ, SVN sẽ là tốt nhất vì hầu hết các tính năng Gits không được sử dụng và bạn chỉ nhận được các phần tiêu cực. Đơn giản là một điều tốt đẹp


6
Sáp nhập với SVN khá rủi ro (so với git). Đó là một điều quan trọng cần lưu ý trên bất kỳ so sánh.
Khelben

5
Tại sao bạn cần phải "mang lên cuộc thi" mỗi lần? Đó là một tác nhân chính. Bạn chỉ phải đưa nó lên một lần, khi bạn đăng nhập vào máy của mình. Bạn thêm chìa khóa của bạn, và bạn đã hoàn tất . (Và bạn có thể làm cho nó dễ dàng hơn bằng cách kết hợp keyfile của bạn với cuộc thi và nói thêm rằng vào thư mục khởi động của bạn Log on, nó bật lên với hộp thoại yêu cầu bạn nhập mật khẩu của bạn..)
Frank Shearar

3
@Thorbjoern @Frank Shearer: Tôi nghĩ rằng thực tế là bạn đang nói "bạn có thể làm điều này, hoặc bạn có thể làm điều đó, và không có những vấn đề đó" nhấn mạnh điểm: Đó là giải pháp cho một vấn đề hoặc một vấn đề. Đây không phải là vấn đề với một số VCS khác '.
Steven Evers

4
Câu trả lời này gây cho tôi rất nhiều phàn nàn và than vãn về điều gì đó mà người đăng rõ ràng không dành thời gian để hiểu. Tôi đã dành nhiều thời gian cho cả git và svn, trên cả linux và windows và sẽ chứng minh rằng git vượt trội hơn nhiều so với svn, về khái niệm, mô hình dữ liệu, tính dễ hiểu và tính hữu dụng.
gahooa

4
@TheLQ Không hoàn toàn không phải là "tâm lý Linux của bạn". Đây là một điều đơn giản để thiết lập, nó được ghi chép rõ ràng, PuTTY là một bộ ứng dụng Windows tuyệt vời giúp mọi thứ thực sự đơn giản để sử dụng. Và bạn thực sự nên mã hóa chuyển mã của mình, nếu bạn đang làm việc thông qua bất kỳ mạng công cộng nào. Và thật xúc phạm người dùng Windows khi cho rằng họ quá ngu ngốc khi học cách sử dụng các công cụ họ nên sử dụng. Tôi không yêu cầu mọi người bỏ vào mọi thứ. Tôi đang yêu cầu họ mã hóa thông tin quan trọng của họ.
Frank Shearar

22

Trích dẫn sau đây từ Q4TD khá nhiều tiền cho tôi:

Tôi yêu Git cho đến khi tôi thử nó. Bây giờ tôi yêu Mercurial.

        - Tor Norbye, Podcast Java Posse

Ngoài ra, hssubversion tạo ra một máy khách lật đổ khá tốt cho Linux (nơi tôi thường sử dụng dòng lệnh, không giống như Windows nơi tôi thường sử dụng TortoiseSVN). Ưu điểm lớn nhất: không có .svnthư mục con trong mọi thư mục, chỉ là .hgở cấp cao nhất.

Cập nhật: Đáp lại yêu cầu của Alex trong các bình luận để "nói thêm về lý do tại sao git không hoạt động với bạn và làm thế nào Mercurial hoạt động tốt hơn":

Tôi sẽ không nói rằng Git không hoạt động với tôi, nhưng Murcurial hoạt động tốt hơn IMO.

Tóm lại, đây là Mercurial:

văn bản thay thế

và đây là Git:

văn bản thay thế

Và tôi khẳng định rằng Mercurial sẽ làm mọi thứ mà hầu hết các nhà phát triển sẽ cần nó để làm, mà không cần phải tìm hướng dẫn để tìm ra cách làm những việc hàng ngày.

Phải thừa nhận rằng, thỉnh thoảng tôi chỉ sử dụng Git, nhưng cộng đồng lập trình đã phát cuồng với các ngôn ngữ như Ruby và Python, một phần, vì sự đơn giản và thanh lịch của chúng, trong khi Git cảm thấy như một con lạc đà được thiết kế bởi một ủy ban lạc đà.

Bah, bây giờ hãy nhìn vào những gì bạn đã làm? Có tiếng vang khắp nơi. Di chuyển dọc, không có gì để xem ... không có gì để xem ...

Cập nhật 2: Và một tweet apropos khác tôi vừa gặp:

Phần mềm Git trở nên dễ dàng hơn một khi bạn có được ý tưởng cơ bản rằng các nhánh là các endofunctor nội địa hóa ánh xạ các giao diện con của một không gian Hilbert.


Bạn đã bao giờ thử RabbitVCS chưa?
TheLQ

Không, nhưng tôi sử dụng KDE, không phải Gnome nên dù sao nó cũng không phù hợp với tôi. Thỉnh thoảng tôi sẽ sử dụng một máy khách SVN đồ họa trên Linux, nhưng chỉ thực sự khi làm một cái gì đó hơi bí truyền như khám phá một kho lưu trữ hoặc so sánh các sửa đổi trước đó. Không dành cho công cụ add / remove / commit / log đơn giản. Dòng lệnh nhanh hơn.
Evan

2
Bạn có thể nói thêm về lý do tại sao git không làm việc cho bạn và làm thế nào Mercurial hoạt động tốt hơn? Điều đó khá thú vị để đọc.
Alex Feinman

Tôi khá chắc chắn rằng mô tả Git đang thiếu một con dao cạo thẳng dài 6 "...
Tim Post

2
@Tim: rebase? Có lẽ ở phía bên kia.
Alan Pearce

14

Tôi không có một hệ thống kiểm soát phiên bản "tốt nhất" duy nhất, mà là một mô hình VCS tốt nhất.

Tôi đã sử dụng nhiều hệ thống kiểm soát phiên bản tập trung khác nhau và nhiều hệ thống kiểm soát phiên bản phân tán khác nhau. Và tôi có thể nói mà không do dự rằng không ai nên tự tạo CVCS.

Tôi không quan tâm DVCS bạn chọn (đặc biệt yêu thích của tôi là Git), nhưng hãy làm cho mình một đặc ân và sử dụng một DVCS. Đối với một: bạn sẽ linh hoạt hơn nhiều. Các DVCS có thể mô phỏng một cách tầm thường một quy trình công việc CVCS (không bao giờ rẽ nhánh kho lưu trữ và chỉ coi kho lưu trữ cục bộ của bạn như một mánh khóe thay vì một ngã ba độc lập), trong khi điều ngược lại là không thể. Và trong khi về mặt logic, thực hiện mô phỏng này sẽ mang một số chi phí (và thực tế là như vậy), tôi vẫn thấy nó dễ sử dụng hơn (chưa kể hiệu năng cao hơn nhiều do bộ nhớ đệm cục bộ) so với bất kỳ CVCS nào tôi đã sử dụng.


3
Đây là một câu trả lời tuyệt vời. Không có bất kỳ một VCS "tốt nhất" nào, nhưng tôi hoàn toàn đồng ý rằng một người nên sử dụng DVCS.
Nick Hodges

Làm cho tôi khai thác một DVCS, nhưng xin vui lòng giữ các phần tử con ánh xạ nội suy đồng nhất của không gian Hilbert. Ergo, Mercurial.
Warren P

11

Không thể nói rằng tôi đã gặp phần mềm kiểm soát phiên bản tốt nhất, nhưng tôi có thể bảo bạn tránh xa VSS và MKS. Cả hai đều là những con chó nên tránh bằng mọi giá.


7

Tôi sẽ không nói điều tốt nhất, nhưng một trong những tính năng và khái niệm rất thú vị.

Fossil là một kiểm soát phiên bản phân tán, theo dõi lỗi và dự án wiki được xây dựng trên cơ sở dữ liệu SQLite làm kho lưu trữ.


5

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

Bởi vì:

  1. Đó là một VCS tốt, vững chắc . (Tôi sẽ không coi nó là tốt nhất bằng mọi cách, nhưng nó có những tính năng bổ sung tuyệt vời.)
  2. Tính năng theo dõi nhiệm vụ và theo dõi tích hợp của nó được tích hợp vào Visual Studio giúp tôi tập trung và biết tôi cần làm gì ở một nơi (tự động áp dụng đăng ký vào lỗi hoặc tác vụ và đóng nó khá tốt, mặc dù bạn có thể nhận plugin cho các hệ thống khác / nhật thực / vv để làm điều này.)
  3. Nó tích hợp các tác vụ / theo dõi lỗi / dự án trực tiếp vào Project Server, vì vậy tôi hiếm khi phải giữ các kế hoạch dự án hoặc bảng chấm công cập nhật. Các bản cập nhật cho Project trong Project Server sẽ tự động lọc xuống dưới dạng các tác vụ vào TFS và vào Visual Studio để tôi tự động xem.

2
Tôi tò mò về cách bạn cảm nhận về quy trình làm việc của mình bị giới hạn trong Visual Studio độc quyền cho hầu hết các công việc phát triển. Ngoài ra, bạn có phải thực hiện bất kỳ thiết lập cơ sở hạ tầng nào cho TFS không? Trải nghiệm của tôi trái ngược với bạn theo cách này: # 1 - VCS không dễ sử dụng, thường không ổn định và chế độ ngoại tuyến được tạo bởi chính satan. # 2 Việc theo dõi lỗi và tác vụ tích hợp khá cồng kềnh so với các công cụ khác, vì vậy # 3 không liên quan đến chúng tôi và tạo ra công việc trùng lặp. Tôi đã sử dụng nó 3 lần khác nhau với cùng một kết quả xấu mỗi lần.
Jordan

1. Tôi đồng ý với chế độ hút ngoại tuyến. Mặc dù tôi không có nhiều vấn đề trực tuyến, nhưng tôi luôn kết nối. Nhiều điều khiển VCS, đặc biệt là với ánh xạ lại thư mục thực sự được ẩn sâu trong các menu. Có phải đó là vấn đề bạn đang gặp phải? 2. Nó chắc chắn là cồng kềnh hơn, nhưng tiết kiệm tổng thể công việc cho nhóm của tôi được tích hợp với máy chủ Project. 3. Làm thế nào để nó tạo ra công việc trùng lặp? Bạn đang sao chép các tác vụ trong máy chủ dự án và TFS? Có một plugin mã nguồn mở cho năm 2007 và một phiên bản beta cho năm 2010 cho phép chúng đồng bộ hóa với nhau.
Ryan Hayes

1
Nó đã hạn chế tôi với VS, nhưng chúng tôi là một cửa hàng .NET hoàn toàn. Tôi sử dụng TFS với các dự án Java của tôi ở nhà. Hãy thử SVNBridge tại svnbridge.codeplex.com cho phép bạn sử dụng Rùa với TFS. Nếu bạn sử dụng Rùa (như hầu hết mọi người Java, ruby, non-.net) thì nó sẽ giúp bạn với quy trình làm việc của bạn trong các dự án khác.
Ryan Hayes

4

Tôi đã sử dụng vô số hệ thống kiểm soát phiên bản trong lịch sử lâu dài của mình:

  • RPPT - (Cuộn băng giấy đục lỗ). Trong một hộp giày. Tôi không đùa.
  • PVCS - (Hệ thống kiểm soát phiên bản Polytron). Các VCS thực sự đầu tiên tôi sử dụng.
  • SCCS - rất lâu trước đây, tôi không nhớ bất kỳ điều gì đặc biệt tốt hay xấu về nó.
  • RCS - như những người khác đã chỉ ra, thà hút những quả bóng lừa ướt đẫm mồ hôi.
  • CVS - đó chỉ là một nỗi đau khi được sử dụng với hơn 2 lập trình viên. tính năng tốt nhất: rcs2cvs.
  • VSS - nó hoạt động, ngoại trừ vào thứ ba, khi nó làm hỏng toàn bộ kho lưu trữ của bạn.
  • Perforce - chi phí nhiều hơn xe của tôi. Bản thân VCS có thể chấp nhận được, nhưng những kẻ IT tinh ranh kiểm soát mọi khía cạnh của việc sử dụng nó sẽ không bao giờ đưa nó vào danh sách "ưa thích" của tôi.
  • SVN - phân nhánh và sáp nhập là một con chó cái, nhưng nói chung nó tốt hơn bất kỳ cái nào trước đây. Không tốt lắm với rất nhiều thay đổi nhỏ đang chờ xem xét.
  • Mercurial - những gì tôi có ít kinh nghiệm với nó, tôi thích. Tôi có thể thử nó trong dự án tiếp theo của tôi.
  • Git - không bao giờ có cơ hội sử dụng nó.

Mặc dù một cặp vợ chồng là khủng khiếp, hầu hết là "tốt". Họ không cản đường tôi. Miễn là một công cụ không làm cho cuộc sống của tôi khó khăn hơn đáng kể , tôi không thực sự bận tâm.

Điều thực sự là để hiểu được điểm mạnh và điểm yếu của từng. Hiểu môi trường mục tiêu:

  • phân phối hoặc địa phương
  • đội nhỏ hay lớn
  • dịch vụ lưu trữ vcs hay không
  • tích hợp dễ dàng vào các công cụ khác

Joel cũng đưa ra một quan sát quan trọng: Tìm hiểu công cụ và mô hình sử dụng thực sự của nó. Anh ta cố gắng hết sức để làm cho Mercurial hành xử như Subversion.


1
Nếu chỉ nhận xét về VSS là một trò đùa ... hãy tránh như bệnh dịch.
DevSolo

Ah, PVCS, những ký ức mang lại :) Thật là một mảnh rác.
Henry

Danh sách đó làm tôi nhớ đến ngôn ngữ "tự bắn vào chân mình". 1
Orbling

Tôi nhớ những điều xấu về SCCS, nhưng nó thường có thể sử dụng được. Tôi nhớ là đã cố gắng làm việc đồng thời trên các tệp với SCCS và các lập trình viên khác, và đó là lý do tại sao tôi lại yêu CVS khi tôi thấy nó.
David Thornley

Visual SourceSafe, một VCS đặc biệt dành cho các lập trình viên muốn thu hút ánh mắt của họ bằng thìa.
Đánh dấu gian hàng

2

Một hệ thống mới hơn mà chúng tôi sử dụng tại văn phòng của tôi là Nhựa SCM (http://www.platicscm.com/). Nó hoạt động rất tốt cho nhóm nhỏ của chúng tôi và cho chúng tôi một số quyền kiểm soát tuyệt vời đối với mọi khía cạnh của quản lý nguồn.


1

SCCS .

Hoặc, nếu bạn không sống trong hang động trong 38 năm qua, CSSC .

Nghiêm túc mà nói, công ty của tôi đang sử dụng TeamWare , một loại DVCS giả dựa trên SCCS.

Không, tôi không đùa.

Sun đã chuyển sang đồng bóng từ TeamWare chỉ một vài năm trước đây. Bây giờ bạn nên hiểu tại sao Java dường như di chuyển chậm như vậy.


1

MPW: Chà, tôi thực sự không thể đánh giá nó bất chấp những nỗ lực của tôi.

Điều này đã trở lại khi tôi đang học lập trình ở trường trung học, và trình biên dịch C ++ thực sự miễn phí duy nhất có được là Macintosh Lập trình Workbench, mà tôi đã giữ trên một đĩa zip và bật vào bất cứ nơi nào Performancea có sẵn trong phòng thí nghiệm.

MPW đi kèm với hàng tá công cụ (không có công cụ nào là resedit, đó là một bản tải xuống riêng) và một trong số đó là tiện ích kiểm soát phiên bản. Nó xuất hiện mở một cửa sổ nhỏ với một dòng văn bản và bạn phải kéo và thả các dự án hoặc tệp của mình vào đó. Nó không có tài liệu mà tôi từng có thể khám phá, bất thường khi xem xét mọi thứ khác dường như có tài liệu tuyệt vời, và vì vậy tôi chưa bao giờ tìm ra cách sử dụng nó.

Đó là bàn chải đầu tiên của tôi với VC, và là cái cuối cùng trong một thời gian dài. Bây giờ tôi sử dụng git cho tất cả mọi thứ.


Máy chiếu! Trong một công việc bán thời gian trong thời gian học đại học, tôi đã sử dụng một phiên bản (bị lừa) đó. Thời gian tốt.
RyanWilcox

0

RCS - Hệ thống kiểm soát sửa đổi

Mã hóa Solo được thực hiện rất dễ dàng.


Bạn đang đùa, phải không Xepoch? Xin chúa hãy đùa.
Marc W

Các bạn đang làm tôi cười. Trên thực tế, tôi sử dụng RCS nhưng CHỈ cho các trang web cá nhân của mình, & c. Tôi đã nửa đùa nửa thật về việc sử dụng nó cho sự phát triển lớn, NHƯNG tôi đã thấy nó được sử dụng riêng (chứ không phải CVS) trên các hệ thống Unix phát triển được chia sẻ. Thành thật mà nói, chúng tôi không có vấn đề gì với nó cả, nhưng KHÔNG cho vay bất cứ thứ gì ngoài một tính năng máy chủ duy nhất.
Jé Queue

1
@Xepoch, bạn có thể tốt hơn khi học Git hoặc Mercurial- DCVS hoạt động tuyệt vời để phát triển solo.
Fishtoaster

1
Bạn biết điều thực sự tốt đẹp về RCS là gì không? Bạn có thể đặt tất cả các tệp RCS, v của mình vào một cấu trúc thư mục phù hợp và bạn đã có một kho CVS gần như sẵn sàng để sử dụng. Sau đó, có rất nhiều công cụ để chuyển đổi từ CVS sang bất kỳ hệ thống hiện đại nào bạn thích, chẳng hạn như Mercurial.
David Thornley

@Xepoch, việc dễ dàng sao lưu các vcs phân tán là không thể đánh bại.

0

Không phải ClearCase, ít nhất là đối với hệ thống Unix / Linux (có lẽ với Windows, trình cài đặt dễ dàng hơn). Tôi đã dễ dàng hơn để tìm hiểu một công cụ mới, Perforce, thay vì nâng cấp máy chủ ClearCase của chúng tôi.

Tôi hiện đang sử dụng Perforce trong công việc và tôi thích nó nhưng tôi không biết nó có phải là tốt nhất không. Thiết lập môi trường dòng lệnh và Máy chủ Perforce hơi khó xử, nhưng sử dụng Visual Client khá dễ dàng. Tôi thích nghĩ rằng người dùng có một thời gian khá dễ dàng với nó cho các công việc hàng ngày; nó chỉ là thiết lập ban đầu mất một số công việc.


0

Tôi đã sử dụng Visual SourceSafe và ghét nó, nhưng nó tốt hơn không có gì, nhưng không nhiều. Trong vài năm qua, đã sử dụng một thứ gọi là QCVS do Qumasoft.com viết, sở hữu và hỗ trợ bởi lập trình viên Jim Voris. Gui đơn giản, giá rẻ, hỗ trợ tốt.

Chỉ cần làm công việc.

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.