Trang chủ » làm thế nào để » Theo dõi phiên bản với Subversion (SVN) cho người mới bắt đầu

    Theo dõi phiên bản với Subversion (SVN) cho người mới bắt đầu

    Bạn đã bao giờ muốn làm việc trên một dự án với khả năng theo dõi các thay đổi của bạn cũng như hoàn nguyên chúng? How-To Geek giải thích Cách sử dụng hệ thống theo dõi phiên bản phổ biến, Subversion (a.k.a SVN).

    Hình ảnh rõ ràng mơ hồ

    Mở đầu

    Hướng dẫn này sẽ nhằm mục đích cung cấp cho bạn khả năng sử dụng máy khách lật đổ nói chung và, nếu bạn có, trên bộ định tuyến * DD-WRT của bạn. Hướng dẫn này không có nghĩa là một hướng dẫn dứt khoát cho Subversion và rất nhiều thông tin có thể được tìm thấy trên Sách đỏ Subversion. Hướng dẫn này chỉ nhằm mục đích cung cấp cho bạn câu trả lời ngắn gọn cho những câu hỏi cơ bản nhất.

    Tổng quan

    Có thể có nhiều lý do tại sao bạn muốn có thể kiểm tra mã số mã mới nhất cho một dự án phần mềm sử dụng hệ thống phiên bản. Làm như vậy cho phép bạn hưởng lợi từ những thay đổi mới nhất vẫn chưa được phát hành, giúp kiểm tra và thậm chí phát triển. Trong hướng dẫn này, chúng tôi sẽ giới thiệu một số thuật ngữ SVN cơ bản, hướng dẫn cách cài đặt ứng dụng khách SVN trên Linux, Windows và nếu bạn có một bộ định tuyến DD-WRT được kích hoạt OPKG. Chúng tôi cũng đã bao gồm một ví dụ về một dự án bạn có thể kiểm tra và sử dụng cho bộ định tuyến đã nói.

    Lật đổ là gì?

    Subversion không phải là hệ thống kiểm soát phiên bản duy nhất tồn tại và các lựa chọn thay thế bao gồm Git (được tạo bởi Linus Torvalds, người sáng lập hạt nhân Linux), Mercurial và PerForce để đặt tên cho một số. Như đã nói, nó là một trong những thứ miễn phí, nó trưởng thành và được sử dụng rộng rãi trên toàn thế giới.

    Hết sách Subversion, Sách đỏ:

    Subversion là một nguồn mở / miễn phí hệ thống kiểm soát phiên bản (VCS). Đó là, Subversion quản lý các tệp và thư mục và các thay đổi được thực hiện theo thời gian. Điều này cho phép bạn khôi phục các phiên bản cũ hơn của dữ liệu hoặc kiểm tra lịch sử về cách dữ liệu của bạn thay đổi. Về vấn đề này, nhiều người nghĩ về một hệ thống kiểm soát phiên bản như một loại cỗ máy thời gian.

    Lưu ý: Cuốn sách này bộ sưu tập kiến ​​thức cuối cùng về lật đổ và bạn nên tham khảo nó về tất cả các chủ đề liên quan đến Subversion.

    Phiên bản là gì?

    Phiên bản là một quá trình trong đó trạng thái của một dự án tại một thời điểm được lưu. Loại thủ tục này thường được sử dụng để quản lý phát triển phần mềm, để công việc đó có thể tiếp tục cải thiện dự án hoặc thêm các tính năng, trong khi có thể theo dõi những gì đã thay đổi từ điểm lưu chung chung trước đó. Để giải thích, loại thủ tục này có thể hữu ích cho một người nhưng thậm chí còn hơn thế đối với một nhóm người, tất cả đều làm việc trong cùng một dự án. Điều này là do, thông thường, khi làm việc trong một dự án như một nhóm, có sự phân phối trách nhiệm và những người khác nhau thay đổi các khía cạnh khác nhau của dự án. Nếu không có cơ chế tạo phiên bản, sẽ rất khó để giữ cho mọi người đồng bộ về các thay đổi làm việc mới nhất từ ​​những người khác.

    Thuật ngữ

    Kho lưu trữ
    Kho lưu trữ là vị trí lưu trữ tất cả dữ liệu từ tất cả các vị trí khác nhau. Trong thế giới lật đổ, theo quan điểm của khách hàng, đó là máy chủ chứa cơ sở dữ liệu của dự án. Cơ sở dữ liệu này chứa tất cả các tệp là một phần của dự án với tất cả các phiên bản trước đây của chúng.

    Sửa đổi

    Khi một kho lưu trữ được tạo ra, nó được đưa ra số sửa đổi là 0 (0). Con số này được tăng thêm một (1) mỗi lần thực hiện cam kết. Số sửa đổi là toàn cầu cho kho lưu trữ. Đó là, không có số sửa đổi riêng lẻ cho các tệp riêng lẻ trong kho lưu trữ, ngay cả khi không có gì thay đổi trong tệp đó cho cam kết cụ thể đó.

    Bản sao làm việc

    Một bản sao đang hoạt động là một bản sao cục bộ (hoặc thanh toán trực tuyến) của một phiên bản cụ thể. Thông thường phiên bản này khi được kiểm xuất là phiên bản mới nhất của một người dùng (còn được gọi là một người đứng đầu trên mạng), nhưng phiên bản trước có thể được yêu cầu. Người dùng có thể làm với bản sao cục bộ bất cứ điều gì mình muốn, với kiến ​​thức rằng, tệ nhất, họ có thể kiểm tra lại mã. Hơn nữa, bản sao này là của tư nhân. Điều này là do cho đến khi bạn cập nhật hoặc cam kết bản sao của mình, bạn sẽ không thấy những thay đổi của người khác, họ cũng sẽ không thấy bản sao của bạn.

    Cập nhật & giải quyết xung đột

    Một bản sao làm việc địa phương có thể được cập nhật. Đó là, nếu bạn đã kiểm tra ra một phiên bản nhất định và trong khi bạn đang làm việc, phiên bản trên kho lưu trữ đã được cập nhật, bạn có thể cập nhật bản sao làm việc của mình lên bản mới nhất. Trên thực tế, máy chủ sẽ ngăn bạn thực hiện các thay đổi trước khi bạn cập nhật lên phiên bản mới nhất để phù hợp với kho lưu trữ. Điều này được thực hiện để buộc bạn giải quyết xung đột cục bộ, trước khi bạn nghĩ đến việc thay đổi kho lưu trữ.

    Sáp nhập

    Hợp nhất đề cập đến quá trình, mã thay đổi được trộn vào một phiên bản. Nó cũng có thể đòi hỏi phải giải quyết xung đột.

    Cam kết

    Cam kết là quá trình những thay đổi bạn đã thực hiện đối với bản sao cục bộ của mình sẽ được hợp nhất trở lại vào kho lưu trữ. Đây là phần nguy hiểm nhất của quy trình, vì đây là những thay đổi bạn đã thực hiện, có thể ảnh hưởng đến những người khác sử dụng cùng một kho lưu trữ. Đó là lý do tại sao điều này thường được thực hiện sau khi xem xét, với sự đồng thuận của nhóm và sau khi bạn giải quyết mọi xung đột hợp nhất.

    Quy trình làm việc

    Quy trình công việc cơ bản nhất theo quan điểm của người dùng khi sử dụng lật đổ là:

    1. Kiểm tra mã hiện có (thường là đầu trên đầu).
    2. Thực hiện thay đổi, thêm tệp và thường phát triển mã.
    3. Cập nhật lên phiên bản mới nhất, để đảm bảo bản sao cục bộ của bạn được đồng bộ hóa với các bản cập nhật trên kho lưu trữ.
    4. Hợp nhất cục bộ và giải quyết xung đột nếu cần thiết.
    5. Cam kết các thay đổi được hợp nhất vào kho lưu trữ.
    6. GoTo bước 2.

    Chúng ta hãy nứt

    Cài đặt máy khách

    Để có thể sử dụng lật đổ, bạn cần cài đặt ứng dụng khách trên máy của mình.

    Trên Linux

    Bạn chỉ cần cài đặt gói. Trên Ubuntu / Mint, điều này sẽ được thực hiện với:

    sudo aptitude cài đặt lật đổ

    Trên DD-WRT

    Nếu bạn đã theo dõi Cách cài đặt phần mềm bổ sung trên Bộ định tuyến gia đình (DD-WRT) của bạn, bạn có thể cài đặt ứng dụng khách svn chỉ bằng cách phát hành:

    cập nhật opkg; opkg cài đặt subversion-client

    Trên Windows

    Mặc dù người dùng chuyên sâu của chúng tôi có thể bắt đầu quên rằng GUI thậm chí còn tồn tại đôi khi, không phải ai cũng có. Nếu bạn muốn sử dụng máy khách windows để kết nối với kho SVN, thì cho đến nay, ứng dụng phổ biến nhất là Rùa Rùa. Để sử dụng, chỉ cần tải xuống chương trình và cài đặt trong phiên bản thường xuyên tiếp theo, tiếp theo, kết thúc thời trang.

    Tạo kho lưu trữ

    Mặc dù chúng tôi sẽ không đi sâu vào chi tiết về cách thiết lập máy chủ lật đổ trong hướng dẫn này, nhưng sự thay thế của Google không phải là một khởi đầu tồi cho người dùng mới làm quen. Để tạo kho lưu trữ Google:

    • Truy cập trang web lưu trữ Google Code và trực tiếp tạo ra một dự án mới.
    • Trong trang tiếp theo, hãy điền vào các trường bắt buộc và chọn loại hệ thống kiểm soát phiên bản của LỚP để được lật đổ.

      Lưu ý: Bạn có thể muốn xem qua sự khác biệt giữa các giấy phép mà Google cung cấp, trước khi bạn chọn một giấy phép cho dự án.
    • Nhấp vào Tạo Tạo dự án.
    Thanh toán trực tiếp Bản sao làm việc của bạn

    Khi dự án của bạn đã được tạo, bạn sẽ có thể tìm thấy các hướng dẫn về cách truy cập vào nó trong tab Nguồn Source..

    Điều thú vị về mã Google là nó sẽ cho phép một phiên bản chỉ đọc ẩn danh cho dự án của bạn. Nếu bạn không muốn giải quyết rắc rối khi tạo dự án của riêng mình, bạn có thể kiểm tra ẩn danh kho lưu trữ của nhà văn này.

    Một lưu ý về dự án hotfortech: Dự án này có nghĩa là một trình bao bọc cho các tính năng đã được thêm vào DD-WRT trên How-To Geek (mà tôi sử dụng cá nhân) cùng với một số điều chỉnh cá nhân. Mặc dù dự án này được thiết kế để hoạt động cùng với các bài báo được xuất bản ở đây trên howtogeek, nó vẫn là dự án riêng tư của tôi. Đó là, nó rất phù hợp với bộ định tuyến Buffalo của tôi (kiến trúc AR71xx), ý thích cá nhân của tôi và dễ bị borkage thường xuyên.

    Trên Linux / DD-WRT

    Tạo thư mục để làm việc, ví dụ như trên DD-WRT, có thể là:

    mkdir -p / jffs / svn; cd / jff / svn

    Lệnh đầy đủ trên Linux bao gồm chính lệnh SVN, chỉ thị của chương trình kiểm tra trực tuyến, địa chỉ của kho lưu trữ và thư mục để kiểm tra. Tạo một thư mục trống và thực hiện lệnh dưới đây:

    kiểm tra svn http://hotfortech-dd-wrt.googlecode.com/svn/trunk/ hotfortech-dd-wrt-chỉ đọc

    Xin lưu ý rằng trong ví dụ trên, phiên bản chỉ đọc đang được kiểm tra. Nếu bạn chọn tạo kho lưu trữ của riêng mình, bạn sẽ cần sử dụng liên kết httpS.

    Trên Windows

    Vì rùa là một phần mở rộng shell, bạn sẽ cần sử dụng menu ngữ cảnh của trình khám phá tệp Windows (nhấp chuột phải) để sử dụng nó. Trong thực tế, nếu bạn cố gắng gọi nó từ menu bắt đầu, bạn sẽ nhận được:

    • Tạo một thư mục trống.
    • Nhấp chuột phải vào nó để hiển thị menu ngữ cảnh.
    • Chọn Thanh ghi SVN Checkout:
    • Sao chép và dán liên kết cho dự án (nếu bạn có) vào Hộp văn bản URL URL:
    • Tùy thuộc vào quy mô dự án của bạn, việc này có thể mất một chút thời gian, nhưng khi hoàn thành thì Checkout Checkout, bạn sẽ thấy một cái gì đó như:
    • Bạn có thể bắt đầu phát triển.

    Cập nhật và cập nhật
    Nếu bạn làm việc với mã với đồng nghiệp hoặc chính bạn đang cập nhật mã từ một số vị trí (ví dụ: máy tính xách tay, máy tính để bàn hoặc thậm chí bộ định tuyến), bạn sẽ phải cập nhật bản sao làm việc của mình trước khi bạn thực hiện các thay đổi mới nhất.

    Trên Linux / DD-WRT

    Lệnh để thực hiện việc này trên các hệ thống POSIX này chỉ đơn giản là:

    svn lên

    Trên Windows

    • Nhấp chuột phải vào thư mục làm việc và chọn Cập nhật SVN Cập nhật:
    • Nếu bạn gặp phải xung đột, hãy thử làm theo hướng dẫn trên màn hình và sử dụng phán đoán của bạn để biết phải làm gì về chúng.

    Cam kết của Commit Thay đổi của bạn
    Thế là xong, bạn không bị xung đột và sẵn sàng cập nhật kho lưu trữ với những thay đổi của bạn.
    Một điểm cần lưu ý ở đây là đó là một thông lệ phổ biến để thêm một thông điệp log Nhật ký vào cam kết, để có thể dễ dàng nhớ lại lý do tại sao các thay đổi được thực hiện. Trên thực tế, kho lưu trữ của Google làm cho điều này trở thành một yêu cầu bắt buộc trước để cam kết.

    Trên Linux / DD-WRT

    Đây là một ví dụ về cam kết mà tôi đã thực hiện cho dự án hotfortech đã nâng cấp nó lên phiên bản 19:

    svn cam kết -m cám được cập nhật để phản ánh liên kết gói quảng cáo mới

    Trên Windows

    • Nhấp chuột phải vào thư mục làm việc và chọn Commi Commit Commit Comm:
    • Bạn sẽ được chào đón bởi một cửa sổ cho phép bạn ghi chú một thông điệp tường trình:
    • Nhấn OK và khi được nhắc nhập mật khẩu, hãy cung cấp mật khẩu do Google tạo.
    • Nếu cam kết thành công, bạn sẽ thấy một cái gì đó như:
    • Thế là xong, bạn sẽ có thể cam kết như một BOSS.

    Chú thích cuối
    Điều này là đủ để bạn bắt đầu. Bạn nên đọc các sách tham khảo của SVN để hiểu sâu hơn và tốt hơn về tất cả các cách sử dụng, tùy chọn và cảnh báo của SVN. Ngoài ra, chúng tôi nhắc bạn (một lần nữa) rằng lật đổ KHÔNG phải là hệ thống kiểm soát phiên bản duy nhất ngoài đó và GIT (được tạo bởi Linus Torvalds, người sáng lập nhân Linux) dường như đang trở nên phổ biến trong những năm gần đây.

    Nếu bạn sẽ chọn chạy Chạy-chạy.config.shv từ dự án hotfortech trên bộ định tuyến của mình, bạn sẽ thấy rằng nó hiện sẽ cài đặt cho bạn: Gói chống quảng cáo, tập lệnh Opkg geek-init, cũng như những thứ như GNU GNU ls đầy đủ, Ít hơn, RASH BASH và hơn thế nữa.

    /jffs/svn/hotfortech-dd-wrt/rasty-conf.sh

    Nhiều tính năng đang chờ xử lý và sẽ được thêm vào trong tương lai.


    Quản trị viên hệ thống sẽ mã hóa theo cách thoát khỏi mã hóa.