git .git目录提交_增强您的Git提交消息

本文介绍了如何使用Git Hooks自动将工单ID添加到提交消息中,以优化分支名称关联。通过创建和配置预提交挂钩脚本,可以全局应用这些更改,确保每次提交时都能包含相关上下文。
摘要由CSDN通过智能技术生成

git .git目录提交

Yancy Min Unsplash 拍摄的 照片

如果您正在阅读此书,则可能是您已经知道git是什么,并且还可以使用任何基于票证的软件,例如Jira。 在本文中,我将向您展示您正在使用的工单ID如何自动添加到提交消息中,假设您使用的是类似于feature/ABC-1234-Feature-testing分支名称。

为此,您将使用git hooks

吊钩

根据Git Hooks的说法:

Git挂钩是Git在诸如提交,推送和接收之类的事件之前或之后执行的脚本。 Git钩子是内置功能-无需下载任何内容。 Git挂钩在本地运行。

现在您已经知道需要什么,只需在.git/hooks文件夹下创建一个新文件。 将其命名为prepare-commit-msg

复制下面的代码,并将其粘贴到新创建的文件中。

#!/bin/bash

# List the branches that don't apply bellow
if [ -z " $BRANCHES_TO_IGNORE " ]; then
  BRANCHES_TO_IGNORE=(master develop staging test )
fi

# Pick the current branch name and check if it is excluded
BRANCH_NAME=$(git symbolic-ref --short HEAD)
BRANCH_IGNORED=$( printf "%s\n" " ${BRANCHES_TO_IGNORE[@]} " | grep -c "^ $BRANCH_NAME $" )

# Remove the unnecessary parts
TRIMMED=$( echo $BRANCH_NAME | sed -E -e 's:^(\w+)\/([^-]*-[^-]*)-.*:\2:' -e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/' )  

# If it isn't excluded, prepend the part that interests us to the given commit message
if [ -n " $BRANCH_NAME " ] &&  ! [[ $BRANCH_IGNORED -eq 1 ]]; then
  sed -i.bak -e "1s/^/ $TRIMMED - /" $1
fi

创建文件后,您需要为其赋予适当的权限。 这可以通过执行chmod +x prepare-commit-msg

如果您想查看它的运行状况,只需进行一次新提交,然后键入所需的任何消息即可。 给定上面的分支名称,您现在应该看到类似以下内容:

commit 976f4354779a824e5edfd851857b26c9bcfd3e14 (feature/ABC-1234-Feature-testing)
Author: Rafael <email@example.com>
Date:   Tue Jul 23 17:35:25 2019 +0100

    ABC-1234 - This is a testing message

全局应用您的更改

现在,我已经向您展示了如何改善提交消息,您希望将条件应用于计算机中的其他所有存储库,对吗? 我将向您展示如何实现它。

第一步是创建一个文件夹,其中将包含所有挂钩。 我正在使用我创建的此存储库,但您可以使用任何您喜欢的存储库。 拥有自己的文件夹后,执行以下命令:

git config --global init.templatedir'~/projects/git-hooks-templates'

在其中应该有另一个名为hooks文件夹,这是我们要放置git hooks的位置。

现在文件夹结构正确,您可以将上面创建的文件复制到~/projects/git-hooks-templates目录中(在本示例中,您可能会有所不同)。 之后要执行的命令是:

chmod a+x ~/projects/git-hooks-templates/hooks/prepare-commit-msg

现在您已完成所有设置。 每次创建或克隆新存储库时,都会根据您正在处理的分支在提交消息后附加工单ID。

翻译自: https://hackernoon.com/enhancing-your-git-commit-messages-2a299295o

git .git目录提交

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值