关于Git “ERROR invalid commit message format.”和远程仓库的更改

 git  commit --no-verify -am "[feat]:更改背景图片和logo"      
[master 6d0e7a8] [feat]:更改背景图片和logo
 1 file changed, 19349 insertions(+), 29 deletions(-)

在commit后加上  --no-verify 跳过 commit -msg hook的检查。

在webstrom中commit也可取消Run Git hooks

 

2.git更改远程仓库地址

删除已有的远程仓库地址

git remote rm origin

url为新远程仓库地址

git remote add origin   URL

### 配置 Git Hooks 的方法 Git Hooks 是一种机制,允许开发者在特定事件发生时执行自定义脚本。这些钩子可以在本地仓库中的 `.git/hooks` 文件夹下找到并进行配置。 #### 1. 创建 Hook 脚本 为了创建一个有效的 Hook 脚本,在 `.git/hooks` 文件夹中新建对应的文件名(例如 `pre-commit`, `post-commit`, 或者其他支持的 Hook 名称)。确保该文件具有可执行权限[^2]。 ```bash chmod +x .git/hooks/pre-commit ``` #### 2. Windows 平台下的特殊处理 如果是在 Windows 上操作,可能需要额外设置以确保 Hooks 正常工作。可以通过如下命令指定 Hooks 的路径: ```bash git config --local core.hooksPath .git/hooks ``` 这一步对于某些环境可能是必要的,尤其是当默认行为未被正确识别时。 #### 3. Husky 工具简化流程 Husky 是一款流行的工具,用于更方便地管理 Git Hooks。通过安装 Husky 可以减少手动配置的工作量。以下是使用 Husky 来配置 Commit Message 校验的一个例子[^4]: ##### 安装 Husky 相关依赖 首先,添加 Husky 到项目中作为开发依赖项: ```bash npm install husky --save-dev ``` 接着初始化 Husky: ```bash npx husky-init && npm install ``` ##### 修改 package.json 中的配置 编辑项目的 `package.json` 文件来定义具体的 Hook 行为。比如下面的例子展示了如何利用 pre-commit Hook 运行测试套件: ```json { "husky": { "hooks": { "pre-commit": "npm test" } } } ``` 这样每次提交之前都会自动触发单元测试过程。 #### 4. 自定义验证逻辑 (如 commit message) 除了简单的命令调用外,还可以编写复杂的 JavaScript 函数来进行更加细致的数据检查。例如实现 verify-commit-msg.js 文件用来检测提交信息是否遵循某种格式标准。 ```javascript // verify-commit-msg.js const commitMsgFile = process.argv[2]; const msg = require('fs').readFileSync(commitMsgFile, 'utf-8'); if (!/^[A-Z].*\s{0,}\d+$/.test(msg)) { console.error(`Invalid commit message format!`); process.exit(1); } else { console.log(`Commit message is valid.`); process.exit(0); } ``` 上述代码片段会读取当前提交的信息,并依据正则表达式判断其合法性。如果不满足条件,则阻止提交动作继续下去。 ---
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

前端攻城狮379

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值