Это похоже на то, что вы хотите, чтобы включить все совершает, чьи фиксации сообщения не матч какой-то шаблон, но --grep
включает в себя обязательство, что сделать матч какой-то шаблон. Но ответ на вопрос «как написать регулярное выражение, которое соответствует всем , кроме какой-то шаблон»: это не так.
Вам не нужно, потому что вы можете использовать что-то другое (или, точнее, что-то дополнительное), чтобы исключить фиксации со строкой «T123» в нем. В частности, если вы посмотрите на the documentation for git log
, вы увидите, что он не только имеет свой --grep=<pattern>
вариант, но и --invert-grep
вариант:
--invert-grep
Ограничить коммиты выход на них с журнального сообщения которые не соответствуют схеме, указанной в --grep=<pattern>
.
То есть, вместо того, чтобы изобретать какое-то обратное регулярное выражение, вы просто говорите команде, чтобы инвертировать результат из поиска для регулярного выражения. Поскольку ваше регулярное выражение - это просто фиксированная строка, в которой нет метасимволов:
git log --grep t123 --invert-grep
будет выполнять эту работу. (The =
между --grep
и <pattern>
части не является обязательным для --grep
.)
Это, в некотором смысле, не невозможно; это просто слишком сложно, неэффективно и, самое главное, ненужно.
add '--invert-grep' – ElpieKay