Как я могу получить измененную версию текущего имени ветки в качестве моего сообщения коммита в .bashrc? - PullRequest
0 голосов
/ 24 апреля 2019

Скажите, что у меня есть текущая ветвь как STACK-123/this-is-my-branch. В моем файле .bashrc, как я могу запустить функцию, чтобы сообщение о фиксации стало измененной версией имени ветви. Скажем, у меня есть псевдоним branch-to-commit-alias:

$: branch-to-commit-alias
$: git log
Author: me
Date: <todays date>

   STACK-123: This is my branch

Ответы [ 2 ]

2 голосов
/ 25 апреля 2019

Эта функция оболочки выдает сообщение о фиксации STACK 123: this is my branch на основе только на имени ветви.

branch-to-commit-alias () {
    local msg=$(git rev-parse --abbrev-ref HEAD | sed 's|/|: |; s|-| |g')
    git commit -m "$msg"
}

Однако: скрытие git commit в такой функции также скрывает любые опции, которые вы, возможно, захотите добавить к git commit.

Более гибкий способ - git-hooks (см. git help hooks): вы можете переместить логику в prepare-commit-msg. Этот хук подготовит сообщение, которое вы видите в редакторе. Вы можете отредактировать это сообщение с дополнительной информацией или просто выйти из редактора и все готово.

Для этого напишите этот скрипт в .git/hooks/prepare-commit-msg:

#!/bin/sh

mv "$1" "$1.bak"
(
    git rev-parse --abbrev-ref HEAD | sed 's|/|: |; s|-| |g'
    cat "$1.bak"
) > "$1"

и сделать его исполняемым:

chmod +x .git/hooks/prepare-commit-msg
1 голос
/ 25 апреля 2019

Попробуйте это -

$: xmp() { git commit -m "$(git branch | sed -n '/^[*] / { s/^[*] \(.*\)/\1/; s,/,:,; s/-/ /g; p; }') $@"; }

, тогда вы можете использовать его как коммит.

$: xmp
On branch master
Your branch is up-to-date with 'origin/master'.

nothing to commit, working tree clean

$: touch foo
$: git add foo
$: xmp
[master ac63834] master -
 1 file changed, 0 insertions(+), 0 deletions(-)
 create mode 100644 foo
$: git rm foo
rm 'foo'
$: xmp testing
[master ade608b] master - testing
 1 file changed, 0 insertions(+), 0 deletions(-)
 delete mode 100644 foo
$: git log
commit ade608b32e45d586e6a72275939df12f4f50ee11 (HEAD -> master)
Author: Paul Hodges <Paul.Hodges@charter.com>
Date:   Wed Apr 24 16:29:56 2019 -0500

    master - testing

commit ac638346981b3104cb5185d5240fe218e827504a
Author: Paul Hodges <Paul.Hodges@charter.com>
Date:   Wed Apr 24 16:29:33 2019 -0500

    master -

Хотя я бы выбрал лучшее имя.;)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...