git: необходимо проанализировать сообщения коммита, ища шаблон и сохраняя в списке - PullRequest
3 голосов
/ 09 декабря 2011

все мои сообщения git commit начинаются с

  refs #SOME_NUMBER

где SOME_NUMBER - число от 1 до Я хотел бы проанализировать все сообщения о коммитах на моя рабочая ветка, хранит все SOME_NUMBER в списке, удаляет дубликаты и сохраняет в файл Не совсем уверен, с чего начать ....

1 Ответ

5 голосов
/ 09 декабря 2011

Вы можете сделать это довольно легко с помощью этой однострочной оболочки:

$ git log --format=%s | cut -f 2 -d ' ' | sed 's/#\(.*\)/\1/' | sort -n | uniq > refs.txt

Пояснение:

  1. git log --format=%s отображает первую строку каждого сообщения о коммите
  2. cut -f 2 -d ' ' разбивает строку на пробел и печатает вторую часть (часть #SOME_NUMBER)
  3. sed 's/#\(.*\)/\1/' удаляет знак числа с номера
  4. sort сортирует записи по возрастанию
  5. uniq гарантирует, что каждый номер будет напечатан только один раз
  6. > refs.txt выводит вывод в файл с именем refs.txt.
...