2010-09-11 38 views
8

Tôi đang cố gắng thiết lập một kho lưu trữ tại nơi làm việc của mình cho tất cả mã (chủ yếu là C, Assembler, lô cơ bản) mà đồng nghiệp của tôi và tôi sử dụng. Tôi biết một số điều về kho nhưng không thể quyết định chính xác cái nào là tốt hay không. Tôi không có kinh nghiệm với họ nhưng cho đến nay Apache Subversion và repo của Python có vẻ tốt. Có cái nào khác tốt không? Dễ sử dụng và thiết lập?Kho lưu trữ mã. Whats tốt nhất?

+1

Câu hỏi này quá chủ quan đối với Stack Overflow, nhưng phải lên đến con hẻm của [Programmers.SE] (http://programmers.stackexchange.com/). Trên thực tế, nó đã được hỏi: [Hệ thống điều khiển phiên bản tốt nhất là gì?] (Http://programmers.stackexchange.com/questions/940/whats-the-best-version-control-system) –

+0

Tôi vẫn còn mới điều này. Cảm ơn sự giúp đỡ trên trang web khác. – TheTuxedo

Trả lời

5

Có một cái nhìn tại địa chỉ:

Các công nghệ mà bạn đang tìm kiếm được gọi là Source Control . Kho lưu trữ là một thuật ngữ được sử dụng bởi hầu hết các công cụ kiểm soát nguồn khác nhau để tham khảo bộ sưu tập mã nguồn. Một thể hiện kiểm soát nguồn (như SVN) có thể có nhiều kho lưu trữ. Thông thường một kho chứa một dự án, hoặc một nhóm các dự án có liên quan chặt chẽ. Các dự án riêng biệt sẽ là một ví dụ tốt nơi bạn muốn sử dụng nhiều kho lưu trữ.

Git và Mercurial là các công cụ kiểm soát nguồn được phân phối, trong khi SVN và Perforce thì không.

Một vài nhà cung cấp cung cấp tích hợp IDE (Perforce cung cấp một nhà cung cấp, bạn có thể tải xuống cho Subversion, ví dụ: Ankh cho Visual Studio). Những người dùng khác chọn để đối phó với kiểm soát nguồn bên ngoài IDE như một tùy chọn hệ thống tệp hoàn toàn.

Nếu bạn vui khi có mã nguồn của mình trong đám mây, git hub có thể là một giải pháp tốt. Họ cung cấp kho Git miễn phí mà bạn không cần quản lý.

+0

Perforce cung cấp phiên bản miễn phí đầy đủ chức năng cho tối đa 2 người dùng, nhân tiện. Cùng với các gói tích hợp tuyệt vời cho các IDE phổ biến và trình theo dõi lỗi. –

+0

Cảm ơn - đã cập nhật. –

0

github, hoặc tự sở hữu git repo, tôi muốn tranh luận ...

+0

Tại sao? (Không đồng ý, nhưng muốn thấy một số lý do thuyết phục tại sao). Ngoài ra một đối số truy cập sẽ phụ thuộc vào chính sách bạn có thể không thể lưu trữ mã nguồn của bạn trong đám mây. –

+0

dễ sử dụng và cam kết cục bộ có thể – polemon

4

Nhìn vào Git, Mercurial, SubversionCVS. Đó là những người chơi lớn. Tôi nghĩ SVN tương đối dễ thiết lập, nhưng Git và Mercurial có một số người dùng thực sự cuồng nhiệt, vì vậy bạn có thể thấy bạn thích chúng hơn.

+2

Vui lòng không liệt kê CVS ... –

+0

@Clark Tôi đã không đề xuất, nhưng theo kinh nghiệm của tôi, nó vẫn là một trong những hệ thống kiểm soát phiên bản được sử dụng rộng rãi hơn. Nó không phải là một điều xấu để có một số kinh nghiệm với nó, ngay cả khi nó chỉ là cố gắng nó ra và quyết định ông không thích nó. –

0

Hãy thử Mercurial. Thật đơn giản để bắt đầu như cd nhập vào thư mục mã của bạn và nhập hg init. Khi kho lưu trữ đã được khởi tạo, bạn có thể thêm mọi thứ với hg add, và sau đó cam kết với hg commit -m "Initial commit." hoặc một cái gì đó tương tự. Ngoài ra còn có một hướng dẫn thực sự tuyệt vời tại hginit.com.

+0

Đối số của bạn cũng không kém phần hợp lệ nếu bạn thay đổi công cụ siêu nhiên thành git. – Jimmy

+0

@Jimmy: Đúng vậy, nhưng tôi thích Mercurial. Ngoài ra, tôi đã không tìm thấy một tương đương với hginit.com. Đó là một nguồn tài nguyên tuyệt vời và tài nguyên trên git hơi khan hiếm lần cuối cùng tôi nhìn (mặc dù điều đó trở nên tốt hơn). – icktoofay

+1

Pro Git? Đó là cuốn sách được ra đời mãi mãi, miễn phí tải về pdf quá. – jer

0

Subversion, Git. CVS đã được đề cập, nhưng SVN vượt qua nó.

2

Tôi bỏ phiếu cho SVN vì đó là những gì tôi sử dụng, nhưng tôi phải thừa nhận rằng tôi thực sự thích ý tưởng đằng sau Git và Hg (Mercurial).

Vấn đề lớn nhất thường là với việc hợp nhất, tôi nghĩ, nhưng theo dõi hợp nhất của SVN đã làm cho quá trình này dễ dàng hơn nhiều. Thêm TortoiseSVN làm cho việc quản lý các chi nhánh repo của bạn thực sự đơn giản, nếu bạn đang ở trong Windows.

Đối với tôi, một tính năng trong Git và Hg thực sự thu hút tôi là sự phân bố của tất cả. Nếu tôi không nhầm, sự phụ thuộc của bạn vào một kho lưu trữ trung tâm biến mất, và nó chỉ làm cho cuộc sống dễ dàng hơn cho những người đang làm việc từ xa hoặc thường xuyên bị ngắt kết nối.Ví dụ, tôi làm tất cả công việc của tôi trong một thư mục làm việc được kiểm tra từ máy chủ SVN của chúng tôi. Vấn đề là, nếu tôi không có kết nối mạng, tôi không thể nhìn vào repo hoặc cam kết. Điều này thực sự hút bởi vì tôi thích để có thể kiểm tra mã của tôi tại cột mốc quan trọng, và nếu tôi đang làm việc trên một hòn đảo, tôi không thể làm điều đó, đơn giản và đơn giản. Tuy nhiên, với Git và Hg repo là cục bộ - trên máy tính của bạn và sau đó nếu bạn muốn đẩy các thay đổi của mình vào repo trung tâm, bạn hoàn toàn có thể làm điều đó.

Tôi vẫn muốn chuyển sang Hg, nhưng khi thời hạn luôn xảy ra với bạn, bạn biết điều gì xảy ra với backburner.

2

Tôi khuyên bạn nên xem fossil. Nó là một buổi lễ thấp dễ sử dụng kiểm soát phiên bản phân phối cũng có vé rắc rối và một wiki. Bản thân công cụ này là một bản duy nhất có thể thực thi được nên cài đặt duy nhất mà nó cần là thả tệp thực thi đó vào một thư mục phù hợp trên PATH của bạn. Nó có tính di động cao, với các tệp nhị phân có sẵn cho Windows và nhiều nền tảng * nix khác nhau.

Nó phù hợp cho các dự án trên phạm vi rộng. Lịch sử dự án hoàn chỉnh của SQLite đã được chuyển từ CVS sang hóa thạch ngay sau khi nó đã đủ đầy đủ để có ích, và tất cả sự phát triển hiện tại của SQLite được tổ chức trong một kho lưu trữ hóa thạch, chẳng hạn.

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