Tự động hoàn thành Git không hoạt động với homebrew


12

Đây là thiết lập của tôi:

brew install git bash-completion
Warning: git-2.1.3 already installed
Warning: bash-completion-1.3 already installed

Trong .bash_profile:

if [ -f $(brew --prefix)/etc/bash_completion ]; then
    . $(brew --prefix)/etc/bash_completion
fi

Nhưng tôi vẫn không tự động hoàn thành các lệnh git. (Tôi đã sử dụng macports trước đây, nhưng đã loại bỏ hoàn toàn vì tôi không thể nhận lệnh git để tự động hoàn thành bất kể tôi đã thử gì.)

Tôi đang dùng OSX 10.10

Câu trả lời:


10

Đối với Yosemite, sau khi tôi nâng cấp lên git 2.1.3 với homebrew, điều này cũng hoạt động trong .profiletệp của tôi ( .bash_profilehoặc tương tự cũng sẽ hoạt động):

# git tab completion (homebrew)
if [ -f `brew --prefix`/etc/bash_completion.d/git-completion.bash ]; then
    . `brew --prefix`/etc/bash_completion.d/git-completion.bash
fi

Tôi đã từng git-prompt.shcó ở đó, nhưng thay đổi nó để git-completion.bashlàm việc cho tôi. ymmv.


3

Hãy thử tải trực tiếp trong thư mục nhà của bạn:

curl -O https://raw.github.com/git/git/master/contrib/completion/git-completion.bash
mv git-completion.bash .git-completion.bash

Sau đó, bạn .bash_profilethêm vào như sau:

if [ -f ~/.git-completion.bash ]; then
    . ~/.git-completion.bash
fi

1
Đã làm điều này wget https://raw.github.com/git/git/master/contrib/completion/git-completion.bash && source git-completion.bash, không có may mắn nào.
qed

@qed, câu trả lời đó .bash_profile đã làm việc cho tôi.
Maragues

Ngay cả . ~/.git-completion.bashtrực tiếp trong vỏ không hoạt động. Không có thông báo lỗi.
qed

1

Trên hệ thống của tôi (10.10.5), tôi đã sửa lỗi này bằng cách tạo một liên kết tượng trưng trong /usr/local/etc/bash_completion.d/ vào bash_completion.d / git-xong.bash trong thư mục GIT. Trong trường hợp của tôi:

cd /usr/local/etc/bash_completion.d
ln -s ../../Cellar/git/2.7.2/etc/bash_completion.d/git-completion.bash git-completion.bash

hãy chắc chắn kiểm tra phiên bản git đã cài đặt của bạn và thay thế 2.7.2 bằng phiên bản của bạn.


Tôi đã có điều đó, nhưng nó vẫn không hoạt động.
qed

Cùng với các câu trả lời khác, làm điều này cũng làm việc cho tôi. Cảm ơn!
Vandesh
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.