Добавить примечание для фиксации при фильтрации веток с помощью Git - PullRequest
0 голосов
/ 07 ноября 2018

Следующая команда - сохранить историю фиксации и списки файлов, но удалить содержимое файла, чтобы минимизировать дисковое пространство и потребление сетевого трафика, когда необходимо узнать историю огромного репо без извлечения больших объектов. Это позволяет сэкономить много времени.

git filter-branch -f -d `mktemp -d` \
   --tree-filter '
      find . -type f -not -path ./.git\* |
         while read file; do > "$file"; done
   ' \
   --msg-filter '
      cat - && echo && echo "commit $GIT_COMMIT"
   ' \
   -- metainfo/$BRANCH

Мне также нужно знать хеш исходного коммита. Он добавляется для фиксации сообщения, как вы можете видеть в --msg-filter части.

Я хотел бы сохранить хэш исходного коммита в git notes .

Возможно ли это? Как?

1 Ответ

0 голосов
/ 09 ноября 2018

Простое решение: не изменяйте сообщение о коммите, а создайте файл.

git filter-branch -f -d `mktemp -d` \
   --tree-filter '
      find . -type f -not -path ./\*/.git\* |
         while read file; do > "$file"; done
      echo "$GIT_COMMIT" >.GIT_COMMIT
   ' \
   -- metainfo/$BRANCH
...