2016-11-29 6 views
0

Недавно бранное изображение, которое я использую, переключилось на zsh, и я не могу получить git-заметки с удаленного с ним. Я стараюсь:Как правильно получить git-ноты с zsh?

git fetch origin refs/notes/*:refs/notes/* 

И получите:

zsh: no matches found: refs/notes/*:refs/notes/* 

Что такое правильная команда тогда?

ответ

1

ЗШ видит звездочки в вашей команде, считает сво Glob и пытается расширить его, но нет никаких файлов, которые соответствуют шаблону, поэтому он не может. Если вы обернуть аргумент в одинарные кавычки, он не будет пытаться расширить Glob и аргумент будет принят, как и ожидалось:

git fetch origin 'refs/notes/*:refs/notes/*' 
+1

Или сделать ЗШ ведут себя как Баш, используйте 'setopt nonomatch'. Однако поведение Zsh по умолчанию является более чистым. В случае git я бы рекомендовал сделать «alias git =« noglob git'' », потому что он редко нужен ему с глобусами, и он может делать это в своем собственном глобусе в тех случаях, когда вы этого захотите. – okapi

0

Предполагая, что ваша команда имеет смысл (я не уверен в этом), возможно, что двоеточие в refs/notes/:refs/notes/ интерпретируется как окончание имени устройства или что-то странное. Попробуйте поставить одинарные кавычки вокруг этого параметра, чтобы остановить zsh, пытаясь «понять» его.

git fetch origin 'refs/notes/:refs/notes/'