结合Mysql和kettle邮件发送日常报表_20161001
十一假期 参加婚礼 稍晚点发博
整体流程步骤是:
写SQL-导出到excel设定excel模板调整格式-设置kettle转换--设置kettle邮件作业--完成
第一、写SQL 保持最近12个周的数据
SELECT city AS 城市,DATE_FORMAT(order_date,"%x%v") AS 年周,
CASE
WHEN order_date>= DATE_ADD(SUBDATE(CURRENT_DATE,DATE_FORMAT(CURRENT_DATE,"%w")-1),INTERVAL -12 WEEK) AND order_date<DATE_ADD(SUBDATE(CURRENT_DATE,DATE_FORMAT(CURRENT_DATE,"%w")-1),INTERVAL -11 WEEK) THEN CONCAT(CONCAT("第",WEEK(DATE_ADD(SUBDATE(CURRENT_DATE,DATE_FORMAT(CURRENT_DATE,"%w")-1),INTERVAL -12 WEEK)),"周"),CONCAT(DATE_FORMAT(DATE_ADD(SUBDATE(CURRENT_DATE,DATE_FORMAT(CURRENT_DATE,"%w")-1),INTERVAL -12 WEEK),"%m%d"),"-",DATE_FORMAT(DATE_ADD(DATE_ADD(SUBDATE(CURRENT_DATE,DATE_FORMAT(CURRENT_DATE,"%w")-1),INTERVAL -12 WEEK),INTERVAL 6 DAY),"%m%d")))
WHEN order_date>= DATE_ADD(SUBDATE(CURRENT_DATE,DATE_FORMAT(CURRENT_DATE,"%w")-1),INTERVAL -11 WEEK) AND order_date<DATE_ADD(SUBDATE(CURRENT_DATE,DATE_FORMAT(CURRENT_DATE,"%w")-1),INTERVAL -10 WEEK) THEN CONCAT(CONCAT("第",WEEK(DATE_ADD(SUBDATE(CURRENT_DATE,DATE_FORMAT(CURRENT_DATE,"%w")-1),INTERVAL -11 WEEK)),"周"),CONCAT(DATE_FORMAT(DATE_ADD(SUBDATE(CURRENT_DATE,DATE_FORMAT(CURRENT_DATE,"%w")-1),INTERVAL -11 WEEK),"%m%d"),"-",DATE_FORMAT(DATE_ADD(DATE_ADD(SUBDATE(CURRENT_DATE,DATE_FORMAT(CURRENT_DATE,"%w")-1),INTERVAL -11 WEEK),INTERVAL 6 DAY),"%m%d")))
WHEN order_date>= DATE_ADD(SUBDATE(CURRENT_DATE,DATE_FORMAT(CURRENT_DATE,"%w")-1),INTERVAL -10 WEEK) AND order_date<DATE_ADD(SUBDATE(CURRENT_DATE,DATE_FORMAT(CURRENT_DATE,"%w")-1),INTERVAL -9 WEEK) THEN CONCAT(CONCAT("第",WEEK(DATE_ADD(SUBDATE(CURRENT_DATE,DATE_FORMAT(CURRENT_DATE,"%w")-1),INTERVAL -10 WEEK)),"周"),CONCAT(DATE_FORMAT(DATE_ADD(SUBDATE(CURRENT_DATE,DATE_FORMAT(CURRENT_DATE,"%w")-1),INTERVAL -10 WEEK),"%m%d"),"-",DATE_FORMAT(DATE_ADD(DATE_ADD(SUBDATE(CURRENT_DATE,DATE_FORMAT(CURRENT_DATE,"%w")-1),INTERVAL -10 WEEK),INTERVAL 6 DAY),"%m%d")))
WHEN order_date>= DATE_ADD(SUBDATE(CURRENT_DATE,DATE_FORMAT(CURRENT_DATE,"%w")-1),INTERVAL -9 WEEK) AND order_date<DATE_ADD(SUBDATE(CURRENT_DATE,DATE_FORMAT(CURRENT_DATE,"%w")-1),INTERVAL -8 WEEK) THEN CONCAT(CONCAT("第",WEEK(DATE_ADD(SUBDATE(CURRENT_DATE,DATE_FORMAT(CURRENT_DATE,"%w")-1),INTERVAL -9 WEEK)),"周"),CONCAT(DATE_FORMAT(DATE_ADD(SUBDATE(CURRENT_DATE,DATE_FORMAT(CURRENT_DATE,"%w")-1),INTERVAL -9 WEEK),"%m%d"),"-",DATE_FORMAT(DATE_ADD(DATE_ADD(SUBDATE(CURRENT_DATE,DATE_FORMAT(CURRENT_DATE,"%w")-1),INTERVAL -9 WEEK),INTERVAL 6 DAY),"%m%d")))
WHEN order_date>= DATE_ADD(SUBDATE(CURRENT_DATE,DATE_FORMAT(CURRENT_DATE,"%w")-1),INTERVAL -8 WEEK) AND order_date<DATE_ADD(SUBDATE(CURRENT_DATE,DATE_FORMAT(CURRENT_DATE,"%w")-1),INTERVAL -7 WEEK) THEN CONCAT(CONCAT("第",WEEK(DATE_ADD(SUBDATE(CURRENT_DATE,DATE_FORMAT(CURRENT_DATE,"%w")-1),INTERVAL -8 WEEK)),"周"),CONCAT(DATE_FORMAT(DATE_ADD(SUBDATE(CURRENT_DATE,DATE_FORMAT(CURRENT_DATE,"%w")-1),INTERVAL -8 WEEK),"%m%d"),"-",DATE_FORMAT(DATE_ADD(DATE_ADD(SUBDATE(CURRENT_DATE,DATE_FORMAT(CURRENT_DATE,"%w")-1),INTERVAL -8 WEEK),INTERVAL 6 DAY),"%m%d")))
WHEN order_date>= DATE_ADD(SUBDATE(CURRENT_DATE,DATE_FORMAT(CURRENT_DATE,"%w")-1),INTERVAL -7 WEEK) AND order_date<DATE_ADD(SUBDATE(CURRENT_DATE,DATE_FORMAT(CURRENT_DATE,"%w")-1),INTERVAL -6 WEEK) THEN CONCAT(CONCAT("第",WEEK(DATE_ADD(SUBDATE(CURRENT_DATE,DATE_FORMAT(CURRENT_DATE,"%w")-1),INTERVAL -7 WEEK)),"周"),CONCAT(DATE_FORMAT(DATE_ADD(SUBDATE(CURRENT_DATE,DATE_FORMAT(CURRENT_DATE,"%w")-1),INTERVAL -7 WEEK),"%m%d"),"-",DATE_FORMAT(DATE_ADD(DATE_ADD(SUBDATE(CURRENT_DATE,DATE_FORMAT(CURRENT_DATE,"%w")-1),INTERVAL -7 WEEK),INTERVAL 6 DAY),"%m%d")))
WHEN order_date>= DATE_ADD(SUBDATE(CURRENT_DATE,DATE_FORMAT(CURRENT_DATE,"%w")-1),INTERVAL -6 WEEK) AND order_date<DATE_ADD(SUBDATE(CURRENT_DATE,DATE_FORMAT(CURRENT_DATE,"%w")-1),INTERVAL -5 WEEK) THEN CONCAT(CONCAT("第",WEEK(DATE_ADD(SUBDATE(CURRENT_DATE,DATE_FORMAT(CURRENT_DATE,"%w")-1),INTERVAL -6 WEEK)),"周"),CONCAT(DATE_FORMAT(DATE_ADD(SUBDATE(CURRENT_DATE,DATE_FORMAT(CURRENT_DATE,"%w")-1),INTERVAL -6 WEEK),"%m%d"),"-",DATE_FORMAT(DATE_ADD(DATE_ADD(SUBDATE(CURRENT_DATE,DATE_FORMAT(CURRENT_DATE,"%w")-1),INTERVAL -6 WEEK),INTERVAL 6 DAY),"%m%d")))
WHEN order_date>= DATE_ADD(SUBDATE(CURRENT_DATE,DATE_FORMAT(CURRENT_DATE,"%w")-1),INTERVAL -5 WEEK) AND order_date<DATE_ADD(SUBDATE(CURRENT_DATE,DATE_FORMAT(CURRENT_DATE,"%w")-1),INTERVAL -4 WEEK) THEN CONCAT(CONCAT("第",WEEK(DATE_ADD(SUBDATE(CURRENT_DATE,DATE_FORMAT(CURRENT_DATE,"%w")-1),INTERVAL -5 WEEK)),"周"),CONCAT(DATE_FORMAT(DATE_ADD(SUBDATE(CURRENT_DATE,DATE_FORMAT(CURRENT_DATE,"%w")-1),INTERVAL -5 WEEK),"%m%d"),"-",DATE_FORMAT(DATE_ADD(DATE_ADD(SUBDATE(CURRENT_DATE,DATE_FORMAT(CURRENT_DATE,"%w")-1),INTERVAL -5 WEEK),INTERVAL 6 DAY),"%m%d")))
WHEN order_date>= DATE_ADD(SUBDATE(CURRENT_DATE,DATE_FORMAT(CURRENT_DATE,"%w")-1),INTERVAL -4 WEEK) AND order_date<DATE_ADD(SUBDATE(CURRENT_DATE,DATE_FORMAT(CURRENT_DATE,"%w")-1),INTERVAL -3 WEEK) THEN CONCAT(CONCAT("第",WEEK(DATE_ADD(SUBDATE(CURRENT_DATE,DATE_FORMAT(CURRENT_DATE,"%w")-1),INTERVAL -4 WEEK)),"周"),CONCAT(DATE_FORMAT(DATE_ADD(SUBDATE(CURRENT_DATE,DATE_FORMAT(CURRENT_DATE,"%w")-1),INTERVAL -4 WEEK),"%m%d"),"-",DATE_FORMAT(DATE_ADD(DATE_ADD(SUBDATE(CURRENT_DATE,DATE_FORMAT(CURRENT_DATE,"%w")-1),INTERVAL -4 WEEK),INTERVAL 6 DAY),"%m%d")))
WHEN order_date>= DATE_ADD(SUBDATE(CURRENT_DATE,DATE_FORMAT(CURRENT_DATE,"%w")-1),INTERVAL -3 WEEK) AND order_date<DATE_ADD(SUBDATE(CURRENT_DATE,DATE_FORMAT(CURRENT_DATE,"%w")-1),INTERVAL -2 WEEK) THEN CONCAT(CONCAT("第",WEEK(DATE_ADD(SUBDATE(CURRENT_DATE,DATE_FORMAT(CURRENT_DATE,"%w")-1),INTERVAL -3 WEEK)),"周"),CONCAT(DATE_FORMAT(DATE_ADD(SUBDATE(CURRENT_DATE,DATE_FORMAT(CURRENT_DATE,"%w")-1),INTERVAL -3 WEEK),"%m%d"),"-",DATE_FORMAT(DATE_ADD(DATE_ADD(SUBDATE(CURRENT_DATE,DATE_FORMAT(CURRENT_DATE,"%w")-1),INTERVAL -3 WEEK),INTERVAL 6 DAY),"%m%d")))
WHEN order_date>= DATE_ADD(SUBDATE(CURRENT_DATE,DATE_FORMAT(CURRENT_DATE,"%w")-1),INTERVAL -2 WEEK) AND order_date<DATE_ADD(SUBDATE(CURRENT_DATE,DATE_FORMAT(CURRENT_DATE,"%w")-1),INTERVAL -1 WEEK) THEN CONCAT(CONCAT("第",WEEK(DATE_ADD(SUBDATE(CURRENT_DATE,DATE_FORMAT(CURRENT_DATE,"%w")-1),INTERVAL -2 WEEK)),"周"),CONCAT(DATE_FORMAT(DATE_ADD(SUBDATE(CURRENT_DATE,DATE_FORMAT(CURRENT_DATE,"%w")-1),INTERVAL -2 WEEK),"%m%d"),"-",DATE_FORMAT(DATE_ADD(DATE_ADD(SUBDATE(CURRENT_DATE,DATE_FORMAT(CURRENT_DATE,"%w")-1),INTERVAL -2 WEEK),INTERVAL 6 DAY),"%m%d")))
WHEN order_date>= DATE_ADD(SUBDATE(CURRENT_DATE,DATE_FORMAT(CURRENT_DATE,"%w")-1),INTERVAL -1 WEEK) AND order_date<SUBDATE(CURRENT_DATE,DATE_FORMAT(CURRENT_DATE,"%w")-1) THEN CONCAT(CONCAT("第",WEEK(DATE_ADD(SUBDATE(CURRENT_DATE,DATE_FORMAT(CURRENT_DATE,"%w")-1),INTERVAL -1 WEEK)),"周"),CONCAT(DATE_FORMAT(DATE_ADD(SUBDATE(CURRENT_DATE,DATE_FORMAT(CURRENT_DATE,"%w")-1),INTERVAL -1 WEEK),"%m%d"),"-",DATE_FORMAT(DATE_ADD(DATE_ADD(SUBDATE(CURRENT_DATE,DATE_FORMAT(CURRENT_DATE,"%w")-1),INTERVAL -1 WEEK),INTERVAL 6 DAY),"%m%d")))
WHEN order_date>=SUBDATE(CURRENT_DATE,DATE_FORMAT(CURRENT_DATE,'%w')-1) AND order_date<CURRENT_DATE THEN CONCAT(CONCAT("第",WEEK(SUBDATE(CURRENT_DATE,DATE_FORMAT(CURRENT_DATE,'%w')-1)),"周"),CONCAT(DATE_FORMAT(SUBDATE(CURRENT_DATE,DATE_FORMAT(CURRENT_DATE,'%w')-1),"%m%d"),"-",DATE_FORMAT(DATE_ADD(SUBDATE(CURRENT_DATE,DATE_FORMAT(CURRENT_DATE,'%w')-1),INTERVAL 6 DAY),"%m%d")))
ELSE NULL END AS 年周日期,
CASE
WHEN order_date>=DATE_ADD(SUBDATE(CURRENT_DATE,DATE_FORMAT(CURRENT_DATE,'%w')-1),INTERVAL -12 WEEK) AND order_date<DATE_ADD(SUBDATE(CURRENT_DATE,DATE_FORMAT(CURRENT_DATE,'%w')-1),INTERVAL -11 WEEK) THEN "12"
WHEN order_date>=DATE_ADD(SUBDATE(CURRENT_DATE,DATE_FORMAT(CURRENT_DATE,'%w')-1),INTERVAL -11 WEEK) AND order_date<DATE_ADD(SUBDATE(CURRENT_DATE,DATE_FORMAT(CURRENT_DATE,'%w')-1),INTERVAL -10 WEEK) THEN "11"
WHEN order_date>=DATE_ADD(SUBDATE(CURRENT_DATE,DATE_FORMAT(CURRENT_DATE,'%w')-1),INTERVAL -10 WEEK) AND order_date<DATE_ADD(SUBDATE(CURRENT_DATE,DATE_FORMAT(CURRENT_DATE,'%w')-1),INTERVAL -9 WEEK) THEN "10"
WHEN order_date>=DATE_ADD(SUBDATE(CURRENT_DATE,DATE_FORMAT(CURRENT_DATE,'%w')-1),INTERVAL -9 WEEK) AND order_date<DATE_ADD(SUBDATE(CURRENT_DATE,DATE_FORMAT(CURRENT_DATE,'%w')-1),INTERVAL -8 WEEK) THEN "9"
WHEN order_date>=DATE_ADD(SUBDATE(CURRENT_DATE,DATE_FORMAT(CURRENT_DATE,'%w')-1),INTERVAL -8 WEEK) AND order_date<DATE_ADD(SUBDATE(CURRENT_DATE,DATE_FORMAT(CURRENT_DATE,'%w')-1),INTERVAL -7 WEEK) THEN "8"
WHEN order_date>=DATE_ADD(SUBDATE(CURRENT_DATE,DATE_FORMAT(CURRENT_DATE,'%w')-1),INTERVAL -7 WEEK) AND order_date<DATE_ADD(SUBDATE(CURRENT_DATE,DATE_FORMAT(CURRENT_DATE,'%w')-1),INTERVAL -6 WEEK) THEN "7"
WHEN order_date>=DATE_ADD(SUBDATE(CURRENT_DATE,DATE_FORMAT(CURRENT_DATE,'%w')-1),INTERVAL -6 WEEK) AND order_date<DATE_ADD(SUBDATE(CURRENT_DATE,DATE_FORMAT(CURRENT_DATE,'%w')-1),INTERVAL -5 WEEK) THEN "6"
WHEN order_date>=DATE_ADD(SUBDATE(CURRENT_DATE,DATE_FORMAT(CURRENT_DATE,'%w')-1),INTERVAL -5 WEEK) AND order_date<DATE_ADD(SUBDATE(CURRENT_DATE,DATE_FORMAT(CURRENT_DATE,'%w')-1),INTERVAL -4 WEEK) THEN "5"
WHEN order_date>=DATE_ADD(SUBDATE(CURRENT_DATE,DATE_FORMAT(CURRENT_DATE,'%w')-1),INTERVAL -4 WEEK) AND order_date<DATE_ADD(SUBDATE(CURRENT_DATE,DATE_FORMAT(CURRENT_DATE,'%w')-1),INTERVAL -3 WEEK) THEN "4"
WHEN order_date>=DATE_ADD(SUBDATE(CURRENT_DATE,DATE_FORMAT(CURRENT_DATE,'%w')-1),INTERVAL -3 WEEK) AND order_date<DATE_ADD(SUBDATE(CURRENT_DATE,DATE_FORMAT(CURRENT_DATE,'%w')-1),INTERVAL -2 WEEK) THEN "3"
WHEN order_date>=DATE_ADD(SUBDATE(CURRENT_DATE,DATE_FORMAT(CURRENT_DATE,'%w')-1),INTERVAL -2 WEEK) AND order_date<DATE_ADD(SUBDATE(CURRENT_DATE,DATE_FORMAT(CURRENT_DATE,'%w')-1),INTERVAL -1 WEEK) THEN "2"
WHEN order_date>=DATE_ADD(SUBDATE(CURRENT_DATE,DATE_FORMAT(CURRENT_DATE,'%w')-1),INTERVAL -1 WEEK) AND order_date<SUBDATE(CURRENT_DATE,DATE_FORMAT(CURRENT_DATE,'%w')-1) THEN "1"
WHEN order_date>=SUBDATE(CURRENT_DATE,DATE_FORMAT(CURRENT_DATE,'%w')-1) AND order_date<CURRENT_DATE THEN "0"
ELSE NULL END AS 与当前周间隔几周,SUM(pay_money) AS 订单额
FROM `test_a03order` AS a
WHERE order_date>= DATE_ADD(SUBDATE(CURRENT_DATE,DATE_FORMAT(CURRENT_DATE,"%w")-1),INTERVAL -12 WEEK) AND order_date<CURRENT_DATE AND pay_money>0
GROUP BY city ,DATE_FORMAT(order_date,"%x%v")
12周数据

第二步设定excel模板调整格式
主要设置上面sql语句要展示的表的表头 excel模板文件名 sheet表名
表头是执行kettle时候excel表输出时候的内容区域
excel模板文件名 是kettle调用此模板 按照模板设置输出表
sheet表名是kettle向excel表输出时候选择哪个sheet表(顾名思义 kettle是支持向多个sheet表输入数据的)

第三步 设置kettle转换 设置数据库连接 表输入步骤 excel表输出 步骤

将SQL代码输入 表输入(kettle-核心对象-输入-表输入)

设置表输出:核心对象-输出-microsoft excel表输出

###
绝对路径 相对路径 是在不同终端上使用kettle文件时可以正常使用 用相对路径比较好 主要用于在输出的文件名 和调用excel模板文件时候用到
使用相对路径快捷键:ctrl+alt+space 组合键
下面图 主要和上个图对比

原来的C:\Users\cxy\Desktop\ 绝对路径
转换为了 ${Internal.Transformation.Filename.Directory}相对路径 指向的是test文件所在的目录

调用excel模板同样道理

下一步 设置数据输出的起始位置

kettle 保存执行 这时候会在桌面(我设置的路径是桌面)生成test的excel文件

执行完毕 excel文件已生成

第四步 把生成文件设置成自动发送邮件
新建一个作业保存命名 调用上面的kettle转换文件 添加发送邮件控件 设置发件人信息 完成





结束
结合Mysql和kettle邮件发送日常报表_20161001的更多相关文章
- Zabbix通过邮件发送Screen图形报表实现
在使用Zabbix的过程中,我们通常会建立一些需要的Screen图形报表来汇总需要监控的Graph. 而下面的两个脚本,则是通过从Zabbix数据库中获取所有的Screen图形参数,提供Zabbix的 ...
- 使用phantomjs实现highcharts等报表通过邮件发送
使用phantomjs实现highcharts等报表通过邮件发送(本文仅提供完整解决方案和实现思路,完全照搬不去整理代码无法马上得到效果) 前不久项目组需要将测试相关的质量数据通过每日自动生成报表 ...
- Java实现多线程邮件发送
利用java多线程技术配合线程池实现多任务邮件发送. 1.基本邮件发送MailSender package hk.buttonwood.ops.email; import java.io.File; ...
- 解决Yii2邮件发送问题(结果返回成功,但接收不到邮件)
刚刚用了一下yii邮件发送功能,虽然结果返回成功,但接收不到邮件.配置文件代码如下: 'components' => [ 'db' => [ 'class' => 'yii\db\C ...
- 通过邮箱发送html报表
前言 需求是发送邮件时, 可以将报表正文贴到邮件里, 可以正常复制选中报表内容. 目前的做法是简单粗暴的转成了一张图片, 这样效果显然是很糟糕的. 今天看到邮箱里可以预览Word, Excel, F1 ...
- SSH网上商城---邮件发送
注册网站账号的时候,都需要发送激活邮件,然后让注册的用户点击激活链接方可完成注册,不过话说回来,为什么注册的时候需要发送邮件呢?为什么不注册的时候直接激活呢?一定要收一封激活帐号的邮件?网站这样做的好 ...
- .Net Core邮件发送之MailKit
一 .在.Net Core中MailKit中提供了邮件的基础封装 它支持跨平台,并且支持 IMAP, POP3, SMTP 等协议 Nuget命令: Install-Package MailKit 官 ...
- 用Python实现邮件发送Hive明细数据
代码地址如下:http://www.demodashi.com/demo/12673.html 一.需求描述 客户需要每周周一接收特定的活动数据,生成Excel或是CSV文件,并通过邮件发送给指定接收 ...
- SpringBoot | 第二十六章:邮件发送
前言 讲解了日志相关的知识点后.今天来点相对简单的,一般上,我们在开发一些注册功能.发送验证码或者订单服务时,都会通过短信或者邮件的方式通知消费者,注册或者订单的相关信息.而且基本上邮件的内容都是模版 ...
随机推荐
- Spring学习七----------Bean的配置之自动装配
© 版权声明:本文为博主原创文章,转载请注明出处 Bean的自动装配(Autowiring) no:不启用自动装配,此时需要手动注入.参考:Spring学习三----------注入方式 defaul ...
- Intellij IDEA如何不显示参数提示
刚安装了IDEA之后,调用方法的时候会提示方法中的参数,就像下面这样: 虽然IDEA也是好心,提示,但是劳资看着难受啊. 如果觉得不习惯,不想看参数名,可以用下图的方式取消.具体是: setting ...
- [Linux] 概念
操作系统包括: 内核:管理硬件资源 库:没有执行入口的程序,用于提升软件开发效率 应用程序:有执行入口的程序 常见库文件: windows系统:dll(dynamic link library)动态链 ...
- 如何在IntelliJ IDEA在线查看源码的API文档
https://blog.csdn.net/IFollowRivers/article/details/81604463
- 限制UITextView的字数和字数监控,表情异常的情况和禁用表情
限制UITextView的字数和字数监控,表情异常的情况和禁用表情 3523FD80CC4350DE0AE7F89A8532B9A8.png 因为字数占一个字符,表情占两个字符.你要是限制15个字 ...
- 数据结构---python---表
一.list的基本实现技术 在数据结构中,如果用python实现线性表,无疑要提到list,list是一种元素个数可变的线性表(而tuple是不变的表,不支持改变其内部状态的任何操作,其他与list性 ...
- Webpack探索【15】--- 基础构建原理详解(模块如何被组建&如何加载)&源码解读
本文主要说明Webpack模块构建和加载的原理,对构建后的源码进行分析. 一 说明 本文以一个简单的示例,通过对构建好的bundle.js源码进行分析,说明Webpack的基础构建原理. 本文使用的W ...
- 我的Java开发学习之旅------>Workspace in use or cannot be created, choose a different one.--错误解决办法
今天使用Eclipse时,突然卡死了,然后我强制关闭了Eclipse,再重新打开的时候就报错了,错误如下: Workspace in use or cannot be created, choose ...
- spring mvc头
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.sp ...
- git 从远端拉取指定分支和推送本地某个分支到远端
如题,可以直接从远端拉取某个分支,也可以直接将本地某个分支推送到远端. 原文链接:https://www.cnblogs.com/hamsterPP/p/6810831.html