Bỏ qua các Tập Tin và Thư mục

Hình 4.33. Trình đơn ngữ cảnh Explorer cho các tập tin không phiên bản

Trình đơn ngữ cảnh Explorer cho các tập tin không phiên bản


Trong hầu hết các dự án bạn sẽ có các tập tin và thư mục mà không nên là đối tượng để kiểm soát phiên bản. Đây có thể bao gồm các tập tin được tạo ra bởi trình biên dịch, *.obj, *.lst , có thể là một thư mục đầu ra được sử dụng để lưu trữ thực thi. Bất cứ khi nào bạn cam kết thay đổi, TortoiseSVN cho thấy các tập tin không phiên bản của bạn, đầy lên danh sách tập tin trong hộp thoại cam kết. Tất nhiên bạn có thể tắt hiển thị này, nhưng sau đó bạn có thể quên để thêm một tập tin nguồn mới.

Cách tốt nhất để tránh những vấn đề này là thêm các tập tin có nguồn gốc từ danh sách bỏ qua của dự án. Bằng cách đó chúng sẽ không bao giờ xuất hiện trong hộp thoại cam kết, nhưng các tập tin nguồn chính gốc chưa phiên bản vẫn sẽ được gắn cờ lên.

If you right click on a single unversioned file, and select the command TortoiseSVNAdd to Ignore List from the context menu, a submenu appears allowing you to select just that file, or all files with the same extension. Both submenus also have a (recursively) equivalent. If you select multiple files, there is no submenu and you can only add those specific files/folders.

If you choose the (recursively) version of the ignore context menu, the item will be ignored not just for the selected folder but all subfolders as well. However this requires SVN clients version 1.8 or higher.

Nếu bạn muốn loại bỏ một hoặc nhiều mục từ danh sách bỏ qua, nhấp chuột phải trên các mục và chọn TortoiseSVN Gỡ bỏ khỏi danh sách bỏ qua Bạn cũng có thể truy cập vào thuộc tính một thư mục của svn:ignore một cách trực tiếp. Điều đó cho phép bạn chỉ định mô hình tổng quát hơn bằng cách sử dụng toàn cục hóa tên tập tin, được mô tả trong phần dưới đây. Đọc phần “Thiết lập Dự án” để biết thêm thông tin về việc thiết lập các thuộc tính trực tiếp. Xin hãy nhận thức rằng mỗi mô hình bỏ qua phải được đặt trên một dòng riêng biệt. Tách chúng bằng dấu cách sẽ không có tác dụng.

Các Danh sách bỏ qua toàn cục

Một cách khác để bỏ qua các tập tin là thêm chúng vào danh sách bỏ qua toàn cục . Sự khác biệt lớn ở đây là các danh sách bỏ qua toàn cục là một thuộc tính của máy khách. Nó áp dụng cho tất cả các dự án Subversion, nhưng chỉ trên máy khách. Nói chung, tốt hơn sử dụng thuộc tính svn:ignore trong trường hợp có thể, bởi vì nó có thể được áp dụng cho các khu vực dự án cụ thể, và nó hoạt động cho tất cả mọi người kiểm tra ra dự án. Đọc phần “Các Thiết Lập Tổng Qu” để biết thêm thông tin.

Bỏ qua các mục được phiên bản

Các tập tin và thư mục được phiên bản không bao giờ có thể được bỏ qua - đó là một tính năng của Subversion. Nếu bạn phiên bản một tập tin một cách vô ý, đọc phần “Bỏ qua các tập tin được đã được phiên bản” để được hướng dẫn làm thế nào để bỏ phiên bản nó.

Việc Khớp các Mẫu trong Danh sách Bỏ qua

Các mẫu bỏ qua của Subversion sử dụng cách toàn cục hóa tên tập tin, một kỹ thuật ban đầu được sử dụng trong Unix để xác định các tập tin bằng cách sử dụng ký tự meta như là ký tự đại diện. Các ký tự sau đây có ý nghĩa đặc biệt:

*

Khớp bất kỳ một chuỗi ký tự, bao gồm cả chuỗi rỗng (không có ký tự).

?

Khớp bất kỳ ký tự đơn.

[...]

Khớp các ký tự bất kỳ trong dấu ngoặc vuông. Trong dấu ngoặc, một cặp ký tự cách nhau bằng - khớp bất kỳ ký tự nào theo cách từ vựng giữa hai người. Ví dụ [AGM-p] khớp với bất kỳ một trong những A , G , m , n , o hoặc p .

Khớp mẫu có phân biệt chữ hoa, có thể gây ra vấn đề trên Windows. Bạn có thể bắt buộc không phân biệt chữ hoa theo cách khó khăn bằng cách ghép đôi ký tự, ví dụ như bỏ qua *.tmp bất kể chữ hoa, bạn có thể sử dụng một mẫu như *.[Tt][Mm][PP] .

Nếu bạn muốn có một định nghĩa chính thức cho globbing, bạn có thể tìm thấy nó trong các chi tiết kỹ thuật IEEE cho ngôn ngữ lệnh shell Khớp các mẫu ký hiệu .

Không có đường dẫn nào trong Danh sách bỏ qua toàn cục

Bạn không nên bao gồm thông tin đường dẫn trong mẫu của bạn. Cách khớp mẫu có thể dùng để sử dụng trên các tên tập tin suông và tên thư mục. Nếu bạn muốn bỏ qua tất cả thư mục CVS , chỉ cần thêm CVS vào danh sách bỏ qua. Không cần phải chỉ định CVS * / CVS như bạn đã làm trong các phiên bản trước đó. Nếu bạn muốn bỏ qua tất cả thư mục tmp khi chúng tồn tại trong một thư mục prog nhưng không phải trong một thư mục doc bạn nên sử dụng thuộc tính svn:ignore thay vào đó. Không có cách nào đáng tin cậy để đạt được điều này bằng cách sử dụng các mẫu bỏ qua toàn cục.