git поддерево настраиваемое сообщение для сжатого коммита - PullRequest
0 голосов
/ 18 марта 2019

Я пытаюсь добавить поддерево в мой проект git.Используя git subtree add --prefix <prefix> <repo.git> trunk --squash --message "JIRA: xyz", я мог бы изменить сообщение о коммите для коммит-слияния, которое генерирует добавление поддерева.

*   4795f8f (HEAD, currbranch) JIRA xyz 
|\
| * 66d3640 Squashed 'prefix path' content from commit blah
* 9bd5f02 (origin/master) JIRA def:

Однако мне также нужно отредактировать сообщение о коммите для squashed commit 66d3640что добавляет git поддерево добавить.Я не могу придумать, как отредактировать сообщение этого коммита, добавив «JIRA: abc» (и без JIRA в сообщении коммита выдает ошибку bitbucket).

Любая помощь будет отличной!Спасибо!

1 Ответ

0 голосов
/ 26 июня 2019

После выполнения «git subtree add» вы можете использовать git filter-branch для переписывания сообщения сжатого коммита следующим образом:

git filter-branch -f --msg-filter 'sed "s/Squashed/JIRA: xyz Squashed/g"' HEAD...HEAD~1

Это добавит JIRA: xyz в начале сообщения коммита.

Также возможно полностью заменить первую строку сообщения о коммите:

git filter-branch -f --msg-filter 'sed "s/Squashed.*/{new commit message}/g"' HEAD...HEAD~1

Имейте в виду, что вам нужно будет экранировать некоторые символы в вашем новом сообщении о коммите.Например:

  • / сбежал с \/
  • ' сбежал с '\''
...