Git代码提交,固定日志模板

2023-05-16

时间:2022年1月9日21:38:22

团队开发,但是每个人的日志风格不同该怎么办?

通过配置服务器的 Git 提交日志,就可以实现统一的代码提交风格。

先看实现效果,如下图

这样大家就必须按照现有的模板,填写对应内容,保持整体格式的统一。

Git 有提供一个示例文件,路径: .git/hooks/prepare-commit-msg.sample

查看文件内容,全是英文的,如下

代码贴图

zhaoc@ubuntu2004:~/09-GitRepository/TheCProgrammingLanguage/part-1/1-6$ cat ../../.git/hooks/prepare-commit-msg.sample
#!/bin/sh
#
# An example hook script to prepare the commit log message.
# Called by "git commit" with the name of the file that has the
# commit message, followed by the description of the commit
# message's source.  The hook's purpose is to edit the commit
# message file.  If the hook fails with a non-zero status,
# the commit is aborted.
#
# To enable this hook, rename this file to "prepare-commit-msg".

# This hook includes three examples. The first one removes the
# "# Please enter the commit message..." help message.
#
# The second includes the output of "git diff --name-status -r"
# into the message, just before the "git status" output.  It is
# commented because it doesn't cope with --amend or with squashed
# commits.
#
# The third example adds a Signed-off-by line to the message, that can
# still be edited.  This is rarely a good idea.

COMMIT_MSG_FILE=$1
COMMIT_SOURCE=$2
SHA1=$3

/usr/bin/perl -i.bak -ne 'print unless(m/^. Please enter the commit message/..m/^#$/)' "$COMMIT_MSG_FILE"

# case "$COMMIT_SOURCE,$SHA1" in
#  ,|template,)
#    /usr/bin/perl -i.bak -pe '
#       print "\n" . `git diff --cached --name-status -r`
#        if /^#/ && $first++ == 0' "$COMMIT_MSG_FILE" ;;
#  *) ;;
# esac

# SOB=$(git var GIT_COMMITTER_IDENT | sed -n 's/^\(.*>\).*$/Signed-off-by: \1/p')
# git interpret-trailers --in-place --trailer "$SOB" "$COMMIT_MSG_FILE"
# if test -z "$COMMIT_SOURCE"
# then
#   /usr/bin/perl -i.bak -pe 'print "\n" if !$first_line++' "$COMMIT_MSG_FILE"
# fi

文件最下边给出了两个示例,我们要用到的重点是这条语句

/usr/bin/perl -i.bak -pe 'print "\n" if !$first_line++' "$COMMIT_MSG_FILE"

接下来修改自己的配置文件,复制原有的示例文件,命名为 prepare-commit-msg ,注意不带后缀!

cp .git/hooks/prepare-commit-msg.sample .git/hooks/prepare-commit-msg

修改 prepare-commit-msg 文件,直接屏蔽原代码语句,参考如下格式:

COMMIT_MSG_FILE=$1
COMMIT_SOURCE=$2
SHA1=$3

#/usr/bin/perl -i.bak -ne 'print unless(m/^. Please enter the commit message/..m/^#$/)' "$COMMIT_MSG_FILE"

case "$2,$3" in
	merge,)
		/usr/bin/perl -i.bak -ne 's/^/# /, s/^# #/#/ if /^Conflicts/ .. /#/; print' "$1" ;;
	,|template,)
		/usr/bin/perl -i.bak -pe 'print "修改描述:\n影响分析:\n是否自测:\n自测内容:\n测试建议:\n代码审查:\nNOTE:\n" if /^#/ && $first++ == 0' "$1" ;;
	*) ;;
esac

修改完毕,先保存,再退出!

然后进行代码提交的测试即可,参考命令如下:

# 添加所有修改文件到缓存区(待提交区)
git add .

# 提交代码,并填写日志;
# 这一步会显示之前编写好的日志文件
git commit

# 填写完日志后,推送到服务器就可以啦
git push

好啦,我是小二,我们下期见~

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Git代码提交,固定日志模板 的相关文章

  • AOSP添加新硬件设备开发-HAL层

    此篇文章接上一篇hidl 我们来实现hal层 hal层官方解释系统硬件抽象层 xff0c 理解为kernel的代理层 xff0c 他的存在屏蔽了不同硬件设备的差异 xff0c 根据提供的访问标准 xff0c 就可以对不同的硬件进行操作 xf
  • 解决 Windows has triggered a breakpoint in Linkage.exe问题

    这两天在做一个小项目 xff0c 里面有多线程的东东 xff0c 在调试的时候 总是遇到 Windows has triggered a breakpoint in Linkage exe 的错误 现在将这个问题和大家分享一下 前提是这样的
  • android rc文件的启动

    记录hostapd 启动方式 xff0c 多种方式可以启动一个bin hostapd android rc init rc fragment for hostapd on Android Copyright c 2002 2016 Joun
  • MTK WLAN支持多种NVRAM方案

    背景 硬件差异的前提 wifi功率会有差异 软件上可以做功率补偿方案 但是需要知道整机状态 然后设定一个flag 软件根据flag 选择使用预制的多NVRAM 简单点来说就是 根据不同条件 加载不同的NVRAM 实现原理 1 根据不同的射频
  • C51矩阵键盘

    对于键盘按键之前也是似懂非懂 xff0c 手里有一块浩豚电子的51板子 xff0c 现在跟着使用说明看一遍学习 矩阵键盘 xff0c 称为行列键盘 xff0c 在单片机上使用4条I O口作为行线 xff0c 4条I O口作为列线 xff0c
  • Ubuntu 获取 root 权限 (临时&永久)

    xfeff xfeff xfeff xfeff Ubuntu 获取 root 权限 操作环境 xff1a Win7 43 VMware Workstation 12 0 1 43 Ubuntu 12 04 1 临时获取 root 权限 xf
  • 广播Boradcast socket sendto出错 errno: 101 Network is unreachable

    关键字 xff1a linux 广播 255 255 255 255 sendto error Network is unreachable 全网广播 场景 xff1a 今天调试linux 网络编程的广播 xff0c 当向255 255 2
  • ubuntu下查看某个包是否已安装

    dpkg l dpkg l grep package name dpkg status package name 查看 var lib dpkg status 内容
  • 查看一个可执行文件或者库的依赖库

    经常需要查看一个可执行文件或者库依赖那些库文件 通常情况下这很好办 xff0c 使用ldd命令就可以了 xff0c 比如 xff1a 1 2 3 4 5 6 ldd bin bash linux vdso so 1 61 gt 0x0000
  • 构建gcc交叉编译工具链

    如何构建一个GCC 交叉编译工具链 GCC不仅是一个编译器 xff0c 它是一个开源工程 xff0c 可以让你建立各种编译器 一些编译器支持多线程 xff0c 一些支持共享库 xff0c 一些支持 Multilib xff08 典型的应用是
  • buildroot VS yocto

    翻译自Buildroot vs OpenEmbedded or Yocto Project A Four Hands Discussion 2016 pdf Buildroot 和 yocto的对比 对比内容 xff1a xff08 1 x
  • git查看各个branch之间的关系图

    提供两种方法 xff1a 1 使用git log命令 git log graph decorate oneline simplify by decoration all 说明 xff1a decorate 标记会让git log显示每个co
  • CUDA入门(一)

    最近我也都在看CUDA xff0c 自己看书和练习也都搞了一个月了 而且经常在CSDN上逛 xff0c 也发现了很多问题 xff0c 所以决定自己写点这方面的东西 xff0c 方便自己也方便后来人 根据我的调查 xff0c 我发现现在的初学
  • Openwrt Package xxx is missing dependencies for the following libraries 问题分析

    Openwrt编译时通常会遇到如下问题 xff1a Openwrt Package xxx is missing dependencies for the following libraries libxxx so 首先检查package
  • shell command命令

    近期遇到一个比较少见的命令command xff0c 详细如下 xff1a command 是一些shell的内建命令 我本机使用的是dash xff0c 服务器使用的是bash xff0c 其他shell没有测试 dash user sp
  • 深入理解Linux内核-第五章笔记

    内核同步 内核同步 内核如何为不同的请求提供服务 内核抢占 同步原语 每CPU变量原子操作优化和内存屏障自旋锁顺序锁读 拷贝 更新RCU信号量完成量禁止本地中断 对内核数据结构的同步访问避免竞争条件的实例 内核如何为不同的请求提供服务 内核
  • 一些截图

  • 基于busybox的bootchart分析

    一 Bootchart简介 Bootchart官网http www bootchart org xff0c 已经很久没有更新了 Bootchart的目的是将启动阶段的性能可视化 xff08 Boot Process Performance
  • 用Android手机spydroid-ipcamera搭载局域网监控环境

    相比有很多人都想用手机实现视频监控吧 xff0c 今天这个教程 xff0c 将会教大家用spydroid ipcamera搭建局域网监控环境 准备工作 xff1a 1 准备一部带有摄像头的 xff0c API level在9以上的手机 xf
  • 3D数学--学习笔记(三):3D中绕任意轴的旋转

    本文转自 xff1a http blog csdn net zjc game coder article details 24269757 不要小看我们在Unity或者3DMAX中的一个简单的旋转物体操作 题记 这里需要用到的知识 xff1

随机推荐

  • Android拼图游戏开发全纪录0

    本文转自 xff1a http blog csdn net eclipsexys article details 18881849 最近刚完成一个Android的小项目 拼图游戏 项目并不复杂 xff0c 但也是一个完整的项目 xff0c
  • Android拼图游戏开发全纪录1

    本文转自 xff1a http blog csdn net eclipsexys article details 18887567 今天我们继续来讲解Android拼图游戏全纪录的第二篇 xff0c 今天要完成的任务比较简单 xff1a 界
  • Android 4.2 SafeVolume机制

    最近一个项目过认证 xff0c 在声压测试时failed 整改方案为 xff1a 在用户将耳机音量提高至安全音量以上时 xff0c 阻止此操作并弹出警告框 xff0c 待用户确认后才提升音量 一开始并不知道android4 2中默认自带了这
  • MarkDown基础语法

    MarkDown基础语法 什么是MarkDown Markdown是一种轻量级标记语言 xff0c 创始人为约翰 格鲁伯 xff08 英语 xff1a John Gruber xff09 允许人们使用易读易写的纯文本格式编写文档 xff0c
  • 命令行查看android手机wi-fi密码

    两招帮你查看wifi密码 xff08 抱歉 xff1a 由于无法传第三张图片 xff0c 第三个图片内容请参照参考网址获得 xff09 第一 xff0c 手机必须root 第二 xff0c 用es文件浏览器或RE管理器进入date misc
  • android网络时间同步总结

    本文转自 xff1a http www cnblogs com hoji real archive 2011 11 14 2247984 html 最近看了下网络时间同步 xff0c 总结一下 整体描述 xff1a android网络时间同
  • win7删除ubuntu系统

    win7 43 ubuntu双系统 xff0c ubuntu开机的时候 xff0c 电脑会响 xff0c ubuntu系统进不去 进入win7系统后 xff0c F盘是通过磁盘管理压缩剩余空间安装ubuntu系统的 xff0c QQ安装在F
  • 手机电池和taskId的寻找

    刷机的时候启动手机时间比较久 xff0c 拔掉电池给手机断电 xff0c 启动的比较快一点 一直这样干 xff0c 一段时间以后 xff0c 手机充电的时候 xff0c 会显示bad battery 提示电池坏掉 电池坏掉后 xff0c 刷
  • Objective-c的内存管理MRC与ARC

    Objective c中提供了两种内存管理机制MRC xff08 MannulReference Counting xff09 和ARC Automatic Reference Counting xff0c 分别提供对内存的手动和自动管理
  • 修复:connectToBus() Connection Error(Using X11 for dbus-daemon autolaunch was disabled at compile time

    1 问题 xff1a d bus 在 dbus daemon 没有运行起来的环境中会报这个错 xff1a connectToBus Connection Error Using X11 for dbus daemon autolaunch
  • Git 初体验

    文章目录 1 文章结构2 Git安装3 个人开发3 1 怎么理解SSH xff1f 3 2 SSH场景3 2 1 场景13 2 2 场景23 2 3 场景3 3 3 怎么理解HTTPS xff1f 4 公司开发5 小二总结 上篇文章 xff
  • 一年一度的1024,一周一次的每周思考,来点碰撞

    时间过得真快呀 xff0c 又到了著名的 程序员节 最近在整理任务的时候 xff0c 发现列表中还藏着这样一条 在科技日益发达的今天 xff0c 恰逢 程序员节 xff0c 小二不免又产生了一些思考 前几年 xff0c 老家附近修了飞机场
  • 鲲鹏HCIA系列笔记题库汇总(内含PDF)

    大家好呀 xff0c 我是小二 xff0c 好久不见 之前小二分享了几篇鲲鹏 HCIA 认证的笔记 xff0c 反响还不错 现在小二特地把几篇笔记整理成一个 PDF 文档 xff0c 方便阅读 xff0c 也方便查找 目前已经更新到 V1
  • 【每周思考-15】我是标题

    不知道写什么 xff0c 先陈述一些事实吧 C程序设计语言 本周终于看完了第一遍 xff0c 练习题正在进行 从零开始学理财 杨婧 也看完了 xff0c 实操也在慢慢进行 xff0c 周期久一点 x1f611 上周末看了 金陵十三钗 xff
  • javaweb中jstl无法解析的错误解决方法

    javaweb中jstl无法解析的错误解决方法 无法在web xml或使用此应用程序部署的jar文件中解析绝对uri xff1a http java sun com jstl core 一 问题的产生 在javaweb项目中引入了 jstl
  • 500、1000

    上周日 xff0c 是我参加工作整整 1000 天 xff0c 确实没想到 xff0c 我都已经混迹职场这么久了 周一呢 xff0c 也是距离我写第一篇公众号文章的第 500 天 xff0c 确实也没想到写这么久了 两个相比较来说 xff0
  • 说实话,想家了

    想家了 这周最大的惊喜 xff0c 就是发现1月底该过年了 xff0c 好开心啊 xff01 毕业这几年是越来越恋家 xff0c 光是想想跟家人在一块的时光 xff0c 就美滋滋的 也许是这几年发生了太多事情 xff0c 前年爸爸车祸 xf
  • 恭喜“结业”啦

    之前报名的深圳市人工智能培训 xff0c 今天上完了最后一次课 xff0c 也考完试 xff0c 拿到结业证书啦 xff0c 哈哈 这个课程是人社局主办的 xff0c 有市级 区级的培训 个人觉得挺好 xff0c 带我简单的了解下人工智能的
  • 思考,分享

    不知不觉 xff0c 每周思考也陪我跨了个年 xff0c 本篇已经是第 22 周了 写 每周思考 时 xff0c 总能让我回想起很多事情 近段时间 xff0c 大部分精力都扑在工作上了 xff0c 工作日晚上回家 xff0c 也没有写文章的
  • Git代码提交,固定日志模板

    时间 xff1a 2022年1月9日21 38 22 团队开发 xff0c 但是每个人的日志风格不同该怎么办 xff1f 通过配置服务器的 Git 提交日志 xff0c 就可以实现统一的代码提交风格 先看实现效果 xff0c 如下图 这样大