Cú pháp sử dụng trong bỏ qua các tập tin là khác nhau từ hệ thống để hệ thống:
Mercurial: danh sách các biểu thức thông thường - có thể được thay đổi với một dòng syntax: glob
.
Bazaar: danh sách mẫu hình cầu vỏ - tiền tố là RE:
để khớp với cụm từ thông dụng.
Git: danh sách các mẫu hình cầu vỏ.
Ngoài ra, các quy tắc chính xác về cách các mẫu vỏ và cụm từ thông dụng được kết hợp khác nhau giữa công cụ với công cụ. Tất cả trong tất cả, điều này có nghĩa là bạn chỉ có thể hy vọng sử dụng thủ thuật này nếu tệp bỏ qua toàn cầu của bạn khá đơn giản. Nếu không, sự khác biệt có thể đến và cắn bạn, như bạn nói.
Tôi đã thử nghiệm nó với tập tin này:
syntax: glob
.bzr
.git
.hg
*.o
*~
và có vẻ như để làm việc như dự định trên tất cả ba công cụ. Để kiểm tra nó, tôi tạo ra cây thư mục này:
$ tree
.
|-- foo.c
|-- foo.c.~1~
|-- foo.h
|-- foo.o
`-- src
|-- bar.c
|-- bar.c.~1~
`-- bar.o
và chạy lệnh trạng thái cho mỗi công cụ:
$ for tool in hg git bzr; do echo "== $tool status =="; $tool status; done
== hg status ==
? foo.c
? foo.h
? src/bar.c
== git status ==
# On branch master
#
# Initial commit
#
# Untracked files:
# (use "git add <file>..." to include in what will be committed)
#
# foo.c
# foo.h
# src/
nothing added to commit but untracked files present (use "git add" to track)
== bzr status ==
unknown:
foo.c
foo.h
src/
Như bạn thấy, tập tin đơn giản này hoạt động tốt.
Về mặt kỹ thuật, Git và Bazaar giờ sẽ bỏ qua tệp có tên syntax: glob
, nhưng trừ khi bạn dự định tạo tệp có tên lạ, điều này không quan trọng. Cuối cùng, lưu ý rằng Mercurial không đọc tệp $HOME/.hgignore
theo mặc định. Nhưng bạn có thể đọc nó bằng cách thêm
[ui]
ignore.my-default = ~/.hgignore
vào tệp $HOME/.hgrc
của bạn.
Nguồn
2012-03-14 08:38:05
Trong Mercurial bạn cũng có thể thay đổi một dòng đơn thành glob bằng cách đặt trước nó bằng 'glob:'. –
@LaurensHolst: đúng, nhưng ở đây tôi muốn Mercurial xử lý các mẫu sau đây như các mẫu hình cầu vì đó là mặc định cho Git và Bazaar. –
Chỉ cần nhận xét để hoàn thành :). –