2010-05-03 32 views

Trả lời

40

Không có tương đương với git clean trong gói Mercurial cốt lõi.

Tuy nhiên, tiện ích mở rộng hg purge thực hiện những gì bạn đang làm sau.

Có một số open issue để làm cho phần mở rộng này của gói cốt lõi.

+0

Trang wiki mở rộng cho biết "Tiện ích mở rộng này hiện đang được phân phối cùng với Mercurial." Tôi đã cài đặt nó từ khi nó được xuất bản .. Tôi 'không chắc chắn _what_ phiên bản có hoặc (sẽ) giới thiệu nó. –

+0

Dựa trên bộ theo dõi vấn đề, có vẻ như tính năng đã bị xóa d trong v1.1.2 bởi vì "những người chơi với hg thanh trừng có thể xóa các tập tin mà họ cần". Vấn đề này được cập nhật lần cuối vào tháng 5 năm 2009, vì vậy nó đã trở nên cũ. Tôi chắc chắn sẽ bỏ phiếu để đưa nó trở lại. –

+0

1.1.2 giao nó, không chắc chắn về các phiên bản trước. –

6

Tôi không sử dụng git để quản lý kho lưu trữ của mình. Tuy nhiên, nếu tôi đoán, tôi nghĩ rằng hg purge có thể là những gì bạn đang tìm kiếm.

5

Nếu bạn đang ở trên một hệ thống dựa trên Linux (hoặc Windows Cygwin) bạn có thể:

hg status | grep "^?" | xargs rm -rf 

Nếu công trình này bạn có thể đặt này trong thư mục ~/.hgrc:

[alias] 
clean = !hg status | grep "^?" | xargs rm -rf 

Sau đó chỉ cần chạy:

hg clean 

Tôi đã thử nghiệm điều này trên cửa sổ bằng cách sử dụng Cygwin (nên hoạt động trên Linux).

+1

Điều đó không bao gồm các tệp không được theo dõi; git clean -fxd. – FelipeC

+1

Không cần grep. 'clean =! hg trạng thái -un0 | xargs -0 rm' –

+2

'clean =! hg status -un0 | xargs -r0 rm' Điều chỉnh nhỏ. –

10

Tiện ích mở rộng đã được bao gồm trong mercurial, nhưng bạn vẫn phải kích hoạt nó.

Nó đơn giản như việc tạo ra một tập tin .hgrc trong thư mục chính của bạn (ví dụ Win 7: C:\Users\«yourusername»\.hgrc) và thêm các nội dung sau đây để tập tin đó:

[extensions] 
purge = 

(Home thư mục là ~/.hgrc cho hầu hết các hoạt động máy tính để bàn khác hệ thống (Unix, Gnu/Linux, Mac OSX, BSD, v.v.)

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