2009-02-11 54 views
30

Tôi hoàn toàn không có ý tưởng về kiểm soát phiên bản. Chỉ rằng nó có thể rất hữu ích theo nhiều cách.Cách bắt đầu với kiểm soát phiên bản và PHP

Tôi đã tìm thấy một vài câu hỏi có liên quan nhưng không có câu hỏi nào bắt đầu từ sự bắt đầu tuyệt đối.

Tôi là nhà phát triển duy nhất tại nơi làm việc của tôi sử dụng Mac OS X và theo truyền thống chỉ sử dụng FTP.

Bất kỳ ai cũng có thể giúp tôi kiểm soát phiên bản liên quan đến các dự án PHP (không quan trọng)?

+0

Bạn có môi trường làm việc nào? Loại quản lý mã nguồn được sử dụng loại phụ thuộc vào môi trường của bạn. – Simurr

+1

@alex, bạn có thể quan tâm đến câu trả lời của tôi cho http://stackoverflow.com/questions/250984/do-i-really-need-version-control/251121#251121 –

Trả lời

67

Có, hãy thử, rất đáng.Và ngôn ngữ bạn đang sử dụng không quan trọng. Nó làm việc tuyệt vời với PHP cho tôi và nó sẽ cho bạn quá.

Lợi ích

Nếu bạn là nhà phát triển mà thôi, nó thực sự là dễ dàng hơn để đi mà không có kiểm soát phiên bản. Tuy nhiên, bạn sẽ tìm thấy những lợi ích to lớn khi sử dụng hệ thống kiểm soát phiên bản. Một số lợi ích dễ nhất sẽ là:

  1. Không bao giờ tự hỏi điều gì là phiên bản mới nhất của bạn khi bạn quay trở lại với một dự án (không myproject090201-archive2-final6.zip hơn)
  2. bao giờ sợ hãi để bắt đầu một số refactoring lớn Nếu bạn mắc lỗi trong hồ sơ của mình, bạn sẽ quay lại phiên bản mới nhất
  3. Nếu có điều gì đó ngừng hoạt động trong dự án của bạn và bạn có cảm giác nó hoạt động tại một thời điểm, bạn có thể kiểm tra một số phiên bản trước một cách dễ dàng và xem xét sự khác biệt giữa phiên bản đang hoạt động và phiên bản không hoạt động để tìm những gì đã phá vỡ mã
  4. Bản sao lưu bổ sung cho cu của bạn dự án rrent, và thậm chí tốt hơn nếu nó không có trên máy của bạn ... tất nhiên, các điểm bổ sung để sao lưu hệ thống kiểm soát phiên bản của bạn, chúng tôi không bao giờ quá thận trọng, bạn không muốn phải khởi động lại dự án kéo dài một tháng bạn?

Lựa chọn

Theo một số người đã nói, bạn có một vài lựa chọn cho hệ thống kiểm soát phiên bản của bạn và tôi đoán bạn sẽ muốn có một miễn phí để bắt đầu. Có một vài sản phẩm thương mại xuất sắc nhưng những sản phẩm miễn phí không có gì đáng xấu hổ. Vì vậy, đây là một số các hệ thống kiểm soát phiên bản miễn phí rất phổ biến:

trung so với phân phối

Subversion đã ở đó một thời gian và nó được phân loại là 'tập trung'. Có nghĩa là tất cả mọi người sẽ luôn luôn lấy phiên bản mới nhất và cam kết công việc mới nhất của họ cho một hệ thống trung tâm, thường là trên một hệ thống khác mặc dù nó có thể dễ dàng được trên máy tính của riêng bạn. Đó là một quá trình dễ hiểu.

Ba tên khác được gọi là 'phân phối'. Có rất nhiều quy trình có thể khác nhau vì nó là một hệ thống linh hoạt hơn và đó là lý do tại sao ba người mới này nhận được nhiều lực kéo trong những ngày này trong các dự án mã nguồn mở nơi nhiều người tương tác với nhau. Về cơ bản bạn đang làm việc với các bản sửa đổi của riêng bạn trên máy của riêng bạn, tạo ra bao nhiêu bản sao tùy theo nhu cầu của bạn và quyết định phiên bản nào bạn chia sẻ với những người khác trên các máy tính khác.

Xu hướng chắc chắn có vẻ hướng tới hệ thống phân phối nhưng vì các hệ thống này gần đây hơn, chúng vẫn thiếu các công cụ GUI giúp người dùng thực sự thân thiện khi sử dụng và đôi khi bạn có thể tìm thấy tài liệu nhẹ hơn một chút. Mặt khác, tất cả điều này dường như được sửa chữa nhanh chóng.Trong trường hợp của bạn, khi bạn đang làm việc một mình, nó có thể sẽ không tạo ra sự khác biệt lớn, và mặc dù bạn sẽ nghe thấy những điểm rất tốt cho các hệ thống tập trung và phân tán, bạn sẽ có thể làm việc với một hoặc khác mà không có bất kỳ vấn đề.

cụ

Nếu bạn hoàn toàn cần một công cụ GUI cho máy Mac của bạn, sau đó tôi muốn chọn SVN để có được khởi xướng để kiểm soát nguồn. Có hai sản phẩm rất tốt cho điều đó (thương mại):

Và một vài other ones (chẳng hạn như miễn phí svnX) mà đang trở thành một chút cũ và không thân thiện trong ý kiến ​​của tôi nhưng đó có thể là thú vị cố gắng anyway.

Nếu bạn không nhớ không sử dụng các công cụ GUI, với sự trợ giúp của Terminal, bạn có thể thực hiện tất cả những điều tương tự với một vài dòng lệnh đơn giản với bất kỳ hệ thống nào nói trên.

Bắt đầu từ điểm

Trong bất kỳ trường hợp, bạn sẽ muốn có một số điểm khởi đầu.

  • Đối với Subversion, điểm dừng đầu tiên của bạn phải là sách miễn phí, Version Control with Subversion. Mất một vài giờ trong ngày của bạn để đi qua các chương, nó sẽ được thời gian đầu tư tốt. Các chương giới thiệu là một đọc tốt ngay cả khi bạn không muốn sử dụng Subversion cụ thể bởi vì nó sẽ giúp bạn hiểu được điều khiển phiên bản tốt hơn một chút.

  • Đối với hệ thống phân tán, tôi đã vui vẻ với Mercurial nhưng nó là một chủ đề dễ cháy nên tôi sẽ để bạn tự lựa chọn ở đó. Nhưng nếu bạn nhìn vào Mercurial, hãy xem this blog post, đó là một khởi đầu tuyệt vời cho tôi, điều đó sẽ giúp bạn bắt đầu và chạy với những điều cơ bản sau vài phút nếu bạn đã quen với việc kiểm soát phiên bản nói chung . Dù sao, hãy ghé qua Mercurial's homepage và xem phần Bắt đầu của trang.

Kết luận

Cho nó một đi, đầu tư một ngày cố gắng nó ra với một vài tập tin không có thật. Hãy thử đổi tên tệp và thư mục, xóa, di chuyển mọi thứ xung quanh, thực hiện các tệp nhị phân so với tệp văn bản, giải quyết xung đột và hoàn nguyên về các phiên bản cũ hơn để có được sự cố. Đây thường là những rào cản đầu tiên bạn gặp phải khi chơi với điều khiển phiên bản và nó sẽ không đau nếu nó nằm trong một dự án phi sản xuất.

Trong mọi trường hợp, đó là điều đáng học tập sẽ hữu ích với các dự án solo của bạn cũng như nếu bạn làm việc với các nhà phát triển khác tại công việc hiện tại hoặc kế tiếp.

Chúc may mắn!

5

Loại mã không liên quan.

Một hệ thống kiểm soát phiên bản nguồn mở và phổ biến là Subversion và có tổng quan/hướng dẫn rất tốt here.

2

Hơn nữa, bạn có thể lấy PDT của Eclipse (Trình cắm PHP) và sử dụng Subclibse trong IDE.

+0

Điều này sẽ giúp việc tích hợp dễ dàng hơn bằng cách sử dụng tính năng lật đổ vào công việc của bạn. – VirtuosiMedia

0

Kiểm tra tùy chọn khác nữa - Miscrosoft của TFS (điều này không chỉ được sử dụng cho hệ thống kiểm soát nguồn nhưng để theo dõi khiếm khuyết, quản lý dự án vv vv), Bazaar, Git là những người nổi tiếng.

-1

Alex, Kiểm soát phiên bản (và một số sẽ xử lý tôi cho tuyên bố này) không phải là vấn đề tầm thường, và thậm chí các nhà phát triển có kinh nghiệm cũng gặp rắc rối. Nguyên nhân thường gặp nhất cho sự thất vọng là những hạn chế của một sản phẩm cụ thể (Visual Source Safe là một sản phẩm nổi tiếng) và các thành viên của một nhóm không tuân thủ quy trình tương tự, hoặc không hiểu quá trình này. Điều này sẽ không ngăn bạn nhìn vào sử dụng công cụ kiểm soát nguồn - điều ngược lại là trường hợp. Bạn chỉ có thể sử dụng một công cụ hiệu quả nếu bạn hiểu những gì nó làm và tại sao.

Tôi khuyên bạn nên xem xét CVS. Nó đã tồn tại trong nhiều năm, khá đơn giản để cài đặt, thiết lập và sử dụng, và trong khi có các máy khách GUI có sẵn cho hầu hết các nền tảng, việc học nó từ dòng lệnh có thể cung cấp khả năng truy cập tốt nhất các tính năng của nó.

+0

-1 CVS được coi là bị phản đối vì lợi ích của Subversion, cung cấp nhiều tính năng, được hỗ trợ tốt hơn trên hệ thống của OP và sửa hầu như tất cả các vấn đề nghiêm trọng mà CVS gặp phải. –

+0

CVS cung cấp những gì SVN không? Tôi đã nghe cuộc tranh luận này trước đây và chưa nghe một đối số hấp dẫn cho CVS. –

+0

Đó là "đơn giản" bởi vì nó quá cũ. Tuy nhiên, các hệ thống gói hiện đại làm cho hầu hết mọi thứ khác đơn giản, có lẽ là moreso. – staticsan

3

Tôi sử dụng Git để phát triển PHP.

Nhanh, linh hoạt, đáng tin cậy, sạch sẽ (CVS và SVN tạo nhiều thư mục ẩn mà cá nhân tôi không thích).

Bản chất phân tán của nó cho phép hoạt động theo cách bạn muốn (có hoặc không có kho lưu trữ trung tâm).

Bạn có thể tìm hiểu thêm về nó ở đây:

1

Nếu bạn đang ở trên một máy Mac, làm cho mình một đặc ân và đón phiên bản, một thiết kế đẹp (và chức năng cao) Subversion GUI. Bạn sẽ làm tốt nhất để học thuật ngữ và nhận được ý tưởng về cách Subversion hoạt động bằng GUI trước khi bạn chuyển sang dòng lệnh. Một khi bạn có thể cam kết sửa đổi mã của bạn và chạy cập nhật để có được công việc của người khác, sau đó quay trở lại và đọc cuốn sách đậu đỏ (nó thực sự là cách tốt nhất để tìm hiểu Subversion trong và ngoài).

http://versionsapp.com/

2

Phiên bản hoạt động tốt cho một nhà phát triển khác mà tôi làm việc cùng. Ngoài ra, nếu bạn đang sử dụng Textmate, gói SVN cung cấp khá nhiều tất cả những gì bạn cần cho hầu hết các phần của quy trình làm việc Subversion. Tôi thực sự thích nó.

Plugin Project Plus mất thêm một bước nữa bằng cách thêm các huy hiệu không phô trương nhỏ vào các tệp được phiên bản trong cây dự án, hiển thị trong nháy mắt trạng thái tệp trong dự án.

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