2012-03-27 27 views

Trả lời

2

git ls-files là lệnh hệ thống ống nước và nhiều lệnh trong số này bị "ẩn" và đúng như vậy. Theo thời gian, nhiều người đã được thêm vào hoàn thành bash, nhưng nhiều người vẫn "ẩn"

+0

Ok. Nhưng bạn có thể vui lòng cho tôi một liên kết đến một số danh sách các lệnh git "ẩn" không? Tôi muốn kiểm tra chúng. – Adobe

+2

@Adobe Bạn có thể xem danh sách bằng cách chạy 'git help -a'. Bạn cũng có thể ghi đè hoàn thành tab để hiển thị mọi thứ bằng cách thêm phần sau vào tệp '~/.bash_completion' của bạn:' _completion_loader git; __git_compute_porcelain_commands() {__git_compute_all_commands; __git_porcelain_commands = $ __ git_all_commands; } ' – dlitz

+0

Câu trả lời này không trả lời câu hỏi được hỏi - 'các lệnh" khác "của' git'?' Ở đâu. Vậy tại sao nó được gắn thẻ là câu trả lời đúng? – fnl

0

Trong cài đặt mặc định, Tab hoàn thành chỉ liệt kê tên các lệnh khi chúng xuất hiện trong /bin, /usr/bin, v.v. Không có tệp /usr/bin/git ls-files.

ls-files là lệnh phụ mà bạn sẽ phải dạy cho trình bao của mình. Giả sử bạn đang sử dụng bash, bạn có thể chạy help complete để xem bạn có thể đặt những lệnh nào trong số .bashrc của mình.

Nếu phân phối của bạn cung cấp gói bash hoàn thành, bạn có thể cài đặt nó để tiết kiệm rất nhiều thời gian:

apt-get install bash-completion # on Debian/Ubuntu/etc. 
yum install bash-completion  # on Fedora/Red Hat/etc. 

Nhưng khi manojlds chỉ ra, điều này sẽ không làm việc cho các lệnh git ít được sử dụng chẳng hạn như ls-files vì hoàn thành bash sẽ ẩn những thứ đó khỏi bạn. Bạn sẽ phải chỉnh sửa /etc/bash_completion.d/git để thay đổi điều đó.

+0

Tôi chắc chắn OP đã cài đặt hoàn thành bash và nó vẫn không tốt. –

4

Nhìn vào số ~/.git-completion.sh và chức năng __git_list_porcelain_commands() của bạn. Các lệnh mà git hỗ trợ nhưng không hoàn thành tab được liệt kê ở đó. Hầu hết các lệnh này được gọi là lệnh "hệ thống ống nước", bao gồm ls-files. Bạn có thể dễ dàng làm cho tab được hoàn thành bằng cách nhận xét dòng tương ứng. Như thế này:

#ls-files)   : plumbing;; 
#ls-remote)  : plumbing;; 
#ls-tree)   : plumbing;; 
Các vấn đề liên quan