当前位置: 首页 > article >正文

在git commit之前让其自动执行一次git pull命令

文章目录

  • 背景原因
  • 编写脚本
  • 测试效果

背景原因

有时候可以看到项目的git 提交日志里好多 Merge branch ‘master’ of …记录。这些记录是怎么产生的呢?
是因为在本地操作 git add . 、 git commit -m "xxxxx"时,没有提前进行git pull操作,而且此时远程仓库代码比本地仓库的新,就会在执行git commit -m "xxxxx"时提示,一堆信息(本地仓库代码版本滞后于远程仓库版本),总之不让提交(其实已经提交到本地仓库了),此时再使用git pull时,就会弹出一个编辑框,让输入合并分支的日志,此时一般就 :wq就可以了,完事后,就可以看到拉取代码成功了,再进行git push。推送成功了,此时git log,就可以看到提交记录里多了一条Merge branch ‘master’ of …的记录。如何避免出现这样的Merge branch ‘master’ of …的记录。下面进行操作。

编写脚本

在这里插入图片描述

通过git bash在 项目的.git/hooks目录下,创建脚本文件pre-commit

touch pre-commit

#!/bin/sh
# 检查是否有 staged 的更改
if [ -n "$(git diff-index --name-only --cached HEAD)" ]; then
    echo "Running git pull to update your local changes before commiting..."
    git pull
    if [ $? -ne 0 ]; then
        echo "Failed to pull changes. Fix conflicts and try again."
        exit 1
    fi
fi
exit 0

测试效果

在这里插入图片描述
可以看到,即使忘了在执行commit之前git pull下代码,通过与之关联的钩子脚本可以替我们自动完成此步骤。


http://www.kler.cn/a/452530.html

相关文章:

  • Blender真实灰尘粒子动画资产预设 Dust Particles Pro V1.2
  • Mysql 查询性能调优总结
  • InnoDB引擎的内存结构
  • Vue.js前端框架教程11:Vue监听器watch和watchEffect
  • 打造高效租赁小程序让交易更便捷
  • 谷歌浏览器的网络连接问题解决方案
  • [python SQLAlchemy数据库操作入门]-05.插入数据:记录单笔股票交易信息
  • 【学习总结|DAY023】Java高级技术
  • SpringBoot统计接口请求耗时
  • Docker 部署 plumelog 最新版本 实现日志采集
  • 【前端必读】如何免费无限使用Cursor:AI编程工具的终极指南!
  • Merry Christmas HTML
  • Redis——缓存击穿
  • NetLimiter使用教程,并掌握其基本的网络管理和流量控制能力
  • 聊一聊 C#线程池 的线程动态注入 (下)
  • Flutter项目兼容鸿蒙Next系统
  • 外包干了27天,技术退步明显。。。。。
  • MyBatis-Plus分页拦截器,源码的重构(重构total总数的计算逻辑)
  • UDP传输层通信协议详解
  • 33 Opencv ShiTomasi角点检测
  • 获取 jakarta.servlet.http.HttpServletRequest请求IP
  • 【stm32can】
  • C# Winform打开和预览PDF,方法一:调用CefSharp包,内嵌浏览器
  • EMS(energy managment system)从0到1
  • 软考架构师笔记-计算机系统组成-1
  • 10. zynq应用开发--camke编译