2013-07-04 2 views
2

Я использую git для окон с git bash и каждый раз, когда я хочу автозаполнять имя файла в команде git I получите fatal: Not a git repository: '.git' между моими уже введенными символами и завершенными.Заполнение вкладки Git-bash: «фатальный: не репозиторий git:« .git »(Windows)

Это выглядит следующим образом:

$ git diff a 
<using tab> 
$ git diff afatal: Not a git repository: '.git' 
pp.js 

я все еще могу сделать команду правильно, просто нажав ввести, как и ожидалось. Но это действительно начинает нервничать.

Любые предложения?


Проблема была дополнительная .git -folder в моей папке Src. Репозиторий был инициализирован в папке выше (src/..), и это казалось бесполезным с git. После удаления дополнительной папки .git проблема исчезла.

+0

кстати. другие команды, такие как cd, работают совершенно нормально. –

+0

'git add' отлично работает. –

ответ

2

Я только что нашел решение. У меня был дополнительный каталог .git в моей src-папке, которая казалась беспорядочной с git (репозиторий был инициализирован в папке выше).

После того как я удалил дополнительную папку .git, проблема исчезла.

0

Выполнение git-bash для команд git управляется /etc/git-completion.bash. Чтобы исправить запуска ГИТ-Баш, как администратор, то:

cd /etc 
mv /etc/git-completion.bash /etc/git-completion.bash.orig 

Затем создайте новый из содержимого https://github.com/git/git/blob/master/contrib/completion/git-completion.bash

+0

Спасибо за совет. Но, к сожалению, это не решило проблему. –

2

Это может зависеть от версии msysgit вы используете:

Я просто испытанной заполнение вкладки на git diff на W7 64 бит, с последним msysgit1.8.3, и это сработало просто отлично.

Не забывайте, что в дополнение к версии msysgit у вас будут проблемы с завершением вкладки из-за old bash 3.1 included in mysysgit.
И completion can be slow on Windows.


В качестве OP Zeekermentions ниже, завершение git-completion.bash основано на proper git repo path detection.

# __gitdir accepts 0 or 1 arguments (i.e., location) 
# returns location of .git repo 
__gitdir() { 
... 
} 

И в случае Zeeker, в дополнительной .git папки была в src папки, что означает любое завершение базировались из той папки, которая, по git diff, оказалась смертельной.
git add похоже работа хотя.

+0

+1. IIRC, завершение претерпело несколько исправлений. Я бы не удивился, если бы релиз сделал это с некоторой брокерством. – jszakmeister

+0

Я только что установил новейшую версию msysgit, но все еще имею проблему. Есть ли способ вручную установить новую версию bash? –

+0

@ Zeeker не то, что я знаю. Какую версию ОС Windows вы используете? – VonC

Смежные вопросы