Can I use a scripted commit template for git?

非 Y 不嫁゛ 提交于 2019-12-02 17:05:26
Walter Mundt

You probably want to set up a prepare-commit-msg hook on your local repository. It might look like this (say the branches are named 'work-on-ticket-XXXX':

#!/bin/sh
ORIG_MSG_FILE="$1"
TEMP=`mktemp /tmp/git-XXXXX`

TICKETNO=`git branch | grep '^\*' | cut -b3-`

(echo "Work on ticket #$TICKETNO"; cat "$ORIG_MSG_FILE") > "$TEMP"
cat "$TEMP" > "$ORIG_MSG_FILE"

Put something like that (marked executable) in .git/hooks/prepare-commit-msg. You may have to adjust and elaborate on it of course.

Looks like you should be able to do this by using the .git/hooks/pre-commit-msg

An simple example of this would be:

#!/bin/sh
# $1 contains the file with the commit msg we're about to edit.
# We'll just completely clobber it for this example.
echo "Hello" > "$1"

This would make your commit begin with "Hello". Obviously, since it's a script you can work some magic here to fill out your ticket number and any other information. There should be a pre-commit-msg.sample in the .git/hooks/ directory telling you which args the script receives if you need anything else.

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!