Git alias, который использует псевдонимы

Я хотел бы использовать команду предположить, чтобы связать это 5 раз.

[alias]
assume = update-index --assume-unchanged
unassume = update-index --no-assume-unchanged
assumeall = "!git ls-files ../.idea/misc.xml | xargs git assume"
unassumeall = "!git assumed | xargs git update-index --no-assume-unchanged"

но при запуске я получаю эту ошибку:

fatal: '../.idea/misc.xml' is outside repository

Предположим, unassume, unassumeall работать просто отлично.

2 ответа

Решение

Пытаться

[alias] assumeall = "!git ls-files $(git rev-parse --show-toplevel)/.idea/misc.xml | xargs git assume"

Просто проверьте, если ../.idea/misc.xml 'ссылка на файл, который является git-репо.

Например, если вы идете в .idea/ папку, и найдите корневую папку git repo, она возвращает папку?

git rev-parse --show-toplevel

Если не, .idea/ вне git-репо, и git ls-files не может быть применено.

Другие вопросы по тегам