2011-08-26 5 views
3

git에 bash 완료 스크립트를 사용하고 있습니다. 그러나 작동하지 않는 상황이 있습니다. 브랜치 foo-branch와 파일 foo-file이 있다고 가정 해 봅시다. 버려야 할 파일에 변경 사항이있는 경우 다음을 수행합니다.bash/git에서 분기와 파일 완성 사이의 충돌

git checkout fo<tab> 

이렇게하면 foo-branch가 바로 완료됩니다. 일반적으로 완료 옵션이 여러 개인 경우 벨이 표시되고 다른 탭에 옵션이 표시됩니다. 이 경우에도 완료되도록하는 방법이 있습니까? 또는 git 완료가 항상 파일 이름 완성보다 우선합니까?

편집 : 나는 bash는 남자 페이지를 통해 도섭하고 나는 complete 지침에 추가 -o plusdirs을 발견했습니다. 이 작품; 파일 이름 인수를 사용하지 않는 명령에 문제가 발생하지 않는지 잠시 확인해야합니다. REF 완성 부가 별도 파일명-완료

+0

뻔뻔한 플러그 : 나는 자식 번호를 써서 더 이상 자식 인수에 대한 파일 이름을 쓸 필요가 없습니다. https://github.com/holygeek/git-number – holygeek

답변

2

- 세퍼레이터로서 :

git checkout foo -- file.c 

또는

git checkout -- file.c 

.

+0

감사합니다. 그러나 분리 기호를 추가하는 것을 기억할 필요가 없다면 더 좋을 것입니다. 왜냐하면 나는 그것을 잊어 버리고 계속해서 다시 지점으로 완료 할 것이기 때문입니다. –

+0

인간으로서, 당신은 상황에 적응할 수 있어야합니다 :-). OTOH, GIT 및 git-bash-completion은 GPL이므로 할 수 있으면 적응하십시오. –

0

단순 해 보일지 모르지만 충돌하는 분기 이름을 만들지 않아도 이와 같은 문제는 피할 수 있습니다.