완성도를 사용하지 않는 홈브루의 기트
에 OSX의 Git을사할때일파을정단용게간하수수할있습니다후한의,▁g때▁when▁os니▁do있습다▁simply파x용일▁canx사수▁os할.git commit <tab>그러면 파일 이름이 수정된 파일로 자동 완성됩니다.하지만 홈브루에서 최신 버전의 git를 설치하고 사용하면 해당 기능이 더 이상 작동하지 않습니다(누름).<tab>변경 사항이 없는 파일도 포함하여 어떤 파일에서 수행할 것인지 묻는 메시지가 나타납니다.
누가 왜, 그리고 어떻게 그것을 해결할 것인지에 대해 밝혀줄 수 있습니까?저는 홈브루의 깃이 더 최신이기 때문에 그것을 사용하는 것을 선호합니다.
둘 다 하지 않습니다.bash-completion또는zsh-completions작동했습니다(홈브루의 설치 후 지침을 따른 후에도).
또한 홈브루와 함께 git을 설치한 후에는 다음과 같이 말합니다.
Bash completion has been installed to: /usr/local/etc/bash_completion.d
zsh completion has been installed to: /usr/local/share/zsh/site-functions
그래서 저는 그 중 하나를 사용할 수 있어야 하지 않을까요?
찾으시는 제품:
brew install git bash-completion
warpc에 .~/.bash_profile홈브루의 배시션을 작동시키려면:
if [ -f $(brew --prefix)/etc/bash_completion ]; then
. $(brew --prefix)/etc/bash_completion
fi
위의 내용은 bash-completion 공식을 설치할 때의 주의 사항에 나와 있습니다.
참고: Bash v4 이상을 사용하는 경우(다음을 통해)brew install bash그러면 당신은 사용하기를 원할 것입니다.brew install bash-completion@2을 탭완를사추니합다가에 합니다.~/.bash_profile경고에 설명된 대로:
export BASH_COMPLETION_COMPAT_DIR="/usr/local/etc/bash_completion.d"
[[ -r "/usr/local/etc/profile.d/bash_completion.sh" ]] && . "/usr/local/etc/profile.d/bash_completion.sh"
git, docker, 될 수 있는 를 위해 합니다.$(brew --prefix)/etc/bash_completion.d/디렉토리입니다.
터미널을 다시 시작할 필요 없이 OSX에서 작동하는 이 get's git 탭 완료:
curl https://raw.githubusercontent.com/git/git/master/contrib/completion/git-completion.bash -o ~/.git-completion.bash
echo "source ~/.git-completion.bash" >> ~/.bash_profile
source ~/.bash_profile
편집: 카탈리나의 기본 zsh 셸에서는 작동하지 않습니다.기본 셸을 bash로 다시 변경했는데 다시 작동합니다.https://www.howtogeek.com/444596/how-to-change-the-default-shell-to-bash-in-macos-catalina/
이 내 같은 실수를 해서, ㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅜㅜㅜㅜㅜㅜㅜㅜㅜㅜㅜㅜㅜㅜㅜㅜㅜㅜㅜㅜㅜㅜㅜㅜㅜㅜㅜㅜㅜㅜㅜㅜㅜㅜㅜㅜㅜㅜㅜㅜㅜㅜㅜㅜㅜㅜㅜㅜㅜㅜㅜㅜㅜㅜㅜㅜㅜㅜㅜbrew install git제가 사용한 것입니다.git그것은 Xcode와 함께 제공되며 자동 완성을 얻기 위해 홈브루의 깃을 설치한 적이 없다는 것을 깨닫지 못했습니다.
어떤 이유에서인지 나는 그 파일을 놓치고 있었습니다.$(brew --prefix)/etc/bash_completion Perks의. @Graham Perks의 정답은 저에게 맞지 않았습니다.
결국 제 경우는 다음과 같이 해결되었습니다.
brew unlink bash-completion
brew link bash-completion
나는 그것을 알아내서 문제를 해결했습니다.$(brew --prefix)/etc/bash_completion된 환된반Permission denied실행 시 에:그래서 간단한 다음에:
chmod +x $(brew --prefix)/etc/bash_completion
이제 모든 것이 잘 작동하고 있습니다.홈브루가 왜 안 만드는지 궁금합니다.bash_completion설치 시 파일 실행 파일입니다.
macOS 카탈리나에서의 bash(3/30 업데이트:Big Sur도 마찬가지), 홈브루의 Bash 5도 사용하려면 로그인 셸이 기본값이 아닌 홈브루의 bash로 설정되어 있는지 확인해야 합니다.
이 작업이 필요한지 확인하려면 다음을 실행합니다.echo ${BASH_VERSION}버전이 3으로 시작하는 경우 로그인 셸에 Brew's bash를 사용하지 않습니다.
이것을 바꾸기 위해,
- 을 엽니다.
System Preferences->Users and Groups. - 사용자를 마우스 오른쪽 단추로 클릭하고 "고급 옵션"을 선택합니다.왼쪽 하단의 잠금을 클릭하여 암호로 잠금을 해제해야 할 수도 있습니다.
- 을 합니다.
login shell보통 실행하면 찾을 수 있는 양조장의 위치 필드.which bash당신이 브루 배쉬를 설치한 후 터미널에서.나의 것은./usr/local/bin/bash.
터미널을 다시 시작하고 이 훌륭한 답변의 지침을 따릅니다.
저도 같은 문제가 있었고 심지어 오늘 아침에 이 게시물을 발견했습니다.Brew를 업데이트하여 문제를 해결했습니다.brew update그런 다음 Git를 다시 설치합니다.brew reinstall git.
과정을 , 는 그 후 다 파 대 홈 알 에 니 받 습 는 경 에 다 제 우 았 을 림 한 일 브 른 는 루 링 하 단 차 크 프 를 스 세 로 는 ▁i 에 ▁that ▁process ▁of ▁file 경 , ▁notified ▁the 우 ▁then 제 ▁in 그 brew ▁was ▁was ▁blocking ▁linking/usr/local/share/zsh/site-functions/git-completion.bash하고 파일을 합니다.brew link git문제를 해결했습니다.우리가 우연히 발견한 나쁜 요리법 버전일 뿐이라고 추측했습니다.
작동하는 해결책을 찾았습니다.그것은 매우 최근의 것이며(16시간 전에 작성되었고, 2시간 전에 작성되었습니다), 그것은 홈브루에서 직접 옵니다.
brew install git --without-completions
방금 시도해 봤는데, 마침내 의도한 대로 작동합니다.
가지고 계신다면,$BASH_VERSION를 들어 < 4.1, 예:3.2.57(1)-release다음을 수행합니다.
brew install bash-completion
# In ~/.bash_profile :
if [ -f $(brew --prefix)/etc/bash_completion ]; then
. $(brew --prefix)/etc/bash_completion
fi
하지만 만약 당신이brew install bash 전을함구를 4.4.12(1)-release다음에서 더 우수하고 더 완벽한 완성도를 사용할 수 있습니다.
brew install bash-completion@2
# In ~/.bash_profile:
[ -f "$(brew --prefix)/share/bash-completion/bash_completion" ] \
&& . "$(brew --prefix)/share/bash-completion/bash_completion"
를 일부패브지(는여, 도커, tmux)에 저장합니다.$(brew --prefix)/etc/bash_completion.d/다음을 추가할 수 있습니다.
for completion in "$(brew --prefix)/etc/bash_completion.d/"*
do
. $completion
done
마지막으로 어떤 이유로 git를 설치한 방법으로 git 완료 스크립트를 다음 중 하나에 추가하지 않은 경우 git 완료 스크립트를 추가할 수 있습니다.
[[ -f $(brew --prefix)/etc/bash_completion.d/git \
|| -f $(brew --prefix)/share/bash-completion/completions/git ]] \
|| curl https://raw.githubusercontent.com/git/git/master/contrib/completion/git-completion.bash \
-o $(brew --prefix)/etc/bash_completion.d/git
당신은 위와 함께 받아서 추가할 수 있습니다.
1단계: 자동 완료 스크립트 다운로드:
cd ~
curl -O https://raw.githubusercontent.com/git/git/master/contrib/completion/git-completion.bash
2단계: .bash_profile 및 .bashrc 업데이트
echo "source ~/git-completion.bash" >> .bash_profile
https://www.anintegratedworld.com/git-tab-autocomplete-on-osx-10-11-el-capitan/ 을 통해
위에서 설명해도 작동하지 않으면 https://github.com/bobthecow/git-flow-completion/wiki/Install-Bash-git-completion 을 사용해 보십시오.
Bash 하여 2019년 의 Bash v5에서 ..bash_profile또는.bashrc
- 다두줄사야합다니용에 두 합니다.
.bashrc
export BASH_COMPLETION_COMPAT_DIR="/usr/local/etc/bash_completion.d"
[[ -r "/usr/local/etc/profile.d/bash_completion.sh" ]] && . "/usr/local/etc/profile.d/bash_completion.sh"
- 스크립트gitbash 완료다로드운트립크스(▁(드▁the▁download) 다운로드
https://raw.githubusercontent.com/git/git/master/contrib/completion/git-completion.bash한 후 에장저니에 저장합니다./usr/local/etc/bash_completion.d/~하듯이git
바로 그거야!Bash는 Git 완료 파일을 자동으로 선택하고 완료를 활성화합니다.
例측:는 이 을 모변사에넣것권다을장니을합이항을경에 넣는 합니다..bashrc이것은 당신이 대화형 쉘에 빠질 때 (즉, 에서)를 보장합니다.pipenv shell), source), bash "bash"와 .bashrc그리고 아닙니다..bash_profile.
나를 위해서, 나는.
source $(brew --prefix)/etc/bash_completion
안으로.bashrc이 을 수행합니다.
.bash_profile은 로그인 셸에 대해 실행되는 반면 .bashrc는 대화형 비로그인 셸에 대해 실행됩니다. -- .bash_profile과 .bashrc의 차이점은 무엇입니까?MacOS Sierra가 실행되지 않는 것 같습니다..bash_profile을 열 때, 새터널창열때만을만.bashrc.
업데이트를 적용하려면 재부팅/로그아웃해야 하기 때문에 _bash_profile에 넣지 않습니다.
이것은 Mojave(OSX 10.14.1)에서 저에게 효과가 있었습니다.
brew install bash-completion
그런 다음 ~/.bash_profile에 다음 행을 추가합니다.
[ -f /usr/local/etc/bash_completion ] && . /usr/local/etc/bash_completion
아무 것도 작동하지 않는 경우 이전 버전의bash▁by▁is▁getting▁sourced에 의해 소스화되지 않습니다./usr/local/etc/profile.d/bash_completion.sh대본.파일의 조건부 내부에 간단한 에코를 추가하여 테스트할 수 있습니다./usr/local/etc/profile.d/bash_completion.sh:
10 if shopt -q progcomp && [ -r /usr/local/Cellar/bash-completion@2/2.11/share/bash-completion/bash_completion ]; then
11 # Source completion code.
echo "doing bash completion or not"
12 . /usr/local/Cellar/bash-completion@2/2.11/share/bash-completion/bash_completion
그리고 새로운 터미널을 엽니다.에코 메시지가 표시되지 않으면 조건이 true로 평가되지 않습니다.나의 경우에는 그것은bashblah.mac 3.2.blah에서 버전입니다.
나는 양조장에서 새로운 배쉬를 설치했지만, 나는 그것을 잊었습니다.chsh그리고 그것은 저에게 많은 두통을 일으켰습니다. bash --version입니다. :) 하려면 5.1.8을 할 수 . :) bash를 사용할 수 있습니다.
for n in {0..5}
do
echo "BASH_VERSINFO[$n] = ${BASH_VERSINFO[$n]}"
done
해결책은.sudo chsh -s /usr/local/bin/bash그 후에 완성이 이루어졌습니다.
Lion에서 리드라인 대신 libit를 사용하는 것과 관련이 있을 수 있습니다.
git 전에 readline을 설치해 보십시오.
brew install readline
이미 brew bash-complete를 설치한 사람들을 위한 것입니다.Git 완료 스크립트가 설치되어 있지 않아서 탭을 찾을 수 없습니다.
그래서 수동으로 추가했습니다.
curl https://raw.githubusercontent.com/git/git/master/contrib/completion/git-completion.bash -o $(brew --prefix)/etc/bash_completion.d/git
파일이 작동하려면 파일 이름을 변경하고 확장명을 제거해야 합니다.
완료 또는 GIT가 설치되지 않은 경우 승인된 답변에 설치합니다.
brew install git bash-completion
홈브루를 사용하여 깃을 설치한 경우 깃 완료를 지원하는 어떤 것도 설치할 필요가 없습니다."git-construction.dll" 파일이 어딘가에 있습니다(내 파일은 여기에 있었습니다: /usr/local/git/construction/git-construction.dll).
sudo find /-type f-name "git-completion.bash" 파일만 찾으면 됩니다.
그런 다음 경로를 .bash_profile에 저장합니다.예를 들어 ~/.bash_profile에 이 행을 추가해야 했습니다.
source /usr/local/git/contrib/completion/git-completion.bash
~/.bash_profile의 소스를 지정하거나 터미널을 다시 여는 것을 잊지 마십시오. ;)
출처: 방법-활성화-git-tab-tab-timeout-mac-os-x
이전 게시물인 것은 알지만 추가 패키지를 설치할 필요는 없습니다.
홈브루는 당신에게 당신이 필요한 모든 것들이 있는 디렉토리가 있다는 것을 알려주고 있습니다.
을 다음행간추수있다니습가에 할 수 ..bash_profileBash를 사용하는 경우:
source /usr/local/etc/bash_completion.d/git-completion.bash
오랫동안 머리를 쥐어뜯은 후에, 저는 제가 머리를 가졌을 때 그것을 발견했습니다.hub, 설된명, 의완에 입니다.hub가 명어가깨있습다니고완의 완료를 .git는 제해야했다를 제거해야 ./usr/local/etc/bash_completion.d/hub.bash_completion.sh이는 허브에 대한 완료가 없음을 의미했지만, 이제 Git 완료가 작동했습니다.나는 이것이 왜 그런지 디버그하지 않았습니다.
다음과 같은 양조 패키지를 설치했습니다.
- bash: 5.1.16
- bash-consection@2: 2.11
- 깃: 2.35.1
- 허브: 2.14.2
MAC-OS Mojave 10.14에서 GIT 명령 자동 완성 활성화 나는 개발자이며 항상 명령줄에서 GIT를 사용합니다.개발 관점에서 볼 때, 저는 GIT 운영을 위한 명령줄을 사용하여 많은 명령을 실행하곤 했습니다.대부분의 경우 제가 부분적으로 지원하는 명령 완료뿐만 아니라 입력된 문자에 사용할 수 있는 명령 제안에 대해 MAC OS가 자동으로 지원하지 않는 것이 매우 성가십니다.그래서 typo가 잘못되어 매우 긴 명령어와 대부분 반복적인 작업을 입력하는 것은 매우 번거롭습니다. :(
탭을 완료하는 것이 확실히 더 빠르고 쉬울 것입니다.안타깝게도 일부 Mac 컴퓨터에서는 기본적으로 git를 설치할 때 탭 완료 기능이 활성화되어 있지 않습니다.
그래서 저는 문제의 해결책을 찾고 있었고 웹 검색에서 StackOverflow, GitHub와 같은 여러 해결책이 발견되었습니다.불행하게도, 그 해결책들은 저에게 효과가 없었고 여러 번 다른 해결책을 시도하는 것에 좌절했습니다.
저는 다양한 해결책들을 깊이 검색하고 시도해 보았는데 다행히도 그것은 쉬운 해결책입니다.다음은 제가 여러 게시물에서 수집한 단계이며, 예상대로 작동했습니다.그래서 저처럼 이런 문제가 있는 사람들과 공유하고 싶습니다.
웹 검색으로 이동하면 git 완료 bash 파일을 언급한 많은 솔루션을 찾을 수 있습니다.GitHub 가이드도 마찬가지입니다.하지만 먼저 git-completion.bash 파일이 git-core 또는 설치에서 가져온 다른 파일로 이미 MAC 컴퓨터에 있는지 확인하는 것이 좋습니다.아래 명령을 사용할 수 있습니다.
sudo find / -type f -name "git-completion.bash"
아래의 결과를 얻을 수 있습니다.(내용에 따라 다소 차이가 있을 수 있음)
/Library/Developer/CommandLineTools/usr/share/git-core/git-completion.bash
/Users/Dilanka/git-completion.bash
/Users/Dilanka/.oh-my-zsh/plugins/gitfast/git-completion.bash
/Users/Dilanka/Downloads/git-completion.bash
git-core에서 설치된 것을 선택하는 것을 제안합니다.
git-completion.bash 스크립트가 시스템에 없으면 위에 제공된 아래에서 이 스크립트를 검색하여 /usr/local/etc/bash_completion.d/ 디렉토리에 있는 git-completion.bash라는 새 파일에 로컬 시스템에 저장하십시오.
https://git-scm.com/book/en/v1/Git-Basics-Tips-and-Tricks
Bash 셸을 사용하는 경우 Git에는 사용할 수 있는 멋진 자동 완성 스크립트가 제공됩니다.Git 소스 코드에서 직접 다운로드:
https://github.com/git/git/blob/master/contrib/completion/git-completion.bash
git-completion.bash 스크립트가 시스템에 있지만 /usr/local/etc/bash_completion.d/ 디렉토리에 없으면 해당 디렉토리를 생성하고 해당 디렉토리에 파일을 복사해야 합니다.다음 명령을 사용하면 작업이 작업은 다음과 같습니다.
sudo mkdir /opt/local/etc/bash_completion.d
sudo cp /Library/Developer/CommandLineTools/usr/share/git-core/git-completion.bash /usr/local/etc/bash_completion.d/git-completion.bash
상기 사항을 완료한 후.git-completion.bash 스크립트는 로컬 시스템의 /usr/local/etc/bash_completion.d/ 디렉토리에 있어야 합니다.
이제 아래 명령을 사용하여 프로필을 새로 고쳐야 합니다.추가된 bash 파일을 터미널 컨텍스트에 로드합니다.
source ~/.bash_profile
좋아요!!!당신이 해냈습니다.터미널 창을 시작하고 사용해 보십시오."gitsta"를 입력하면 아래와 같은 제안이 표시됩니다.
git sta
stage stash status
git chec<TAB> will show git checkout
여기에서 GitHub 게시물 보기:
https://github.com/DIL8654/Enable-Auto-Completion-of-GIT-commads-on-MAC-OS-Mojave
여기에서 내 중간 게시물을 참조하십시오.
https://medium.com/ @httpanka85/기트 자동 실행-맥-오스-모하비-10-14
언급URL : https://stackoverflow.com/questions/14970728/homebrew-s-git-not-using-completion
'programing' 카테고리의 다른 글
| 기존 디렉토리 구조에 보관 압축 풀기 (0) | 2023.07.04 |
|---|---|
| Mac에서 Git 구성 파일을 찾는 방법 (0) | 2023.07.04 |
| 공유 호스팅 환경에서 MongoDB를 설정할 수 있습니까? (0) | 2023.06.29 |
| bash에서 열의 고유 값 수 가져오기 (0) | 2023.06.29 |
| Microsoft를 사용하여 숫자, 텍스트 및 날짜와 같은 데이터 유형을 Excel 열에 설정합니다.사무실. 인터럽트.c#에서 탁월함 (0) | 2023.06.29 |