在执行git pull的时候,提示当前branch没有跟踪信息:
1 2 3 |
git pull There is no tracking information for the current branch. Please specify which branch you want to merge with. |
对于这种情况有两种解决办法,就比如说要操作master吧,一种是直接指定远程master:
1 |
git pull origin master |
另外一种方法就是先指定本地master到远程的master,然后再去pull:
1 2 |
git branch --set-upstream-to=origin/master master git pull |
这样就不会再出现“There is no tracking information for the current branch”这样的提示了。 ———————————————— 版权声明:本文为CSDN博主「K.Sun」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。 原文链接:https://blog.csdn.net/sinat_36246371/article/details/79738782
View Details宝塔面板如何卸载?宝塔面板是国内一款简洁易用的服务器管理面板,而有时候我们出于各种各样的原因可能需要卸载宝塔。面板既然能够安装,当然也可以卸载,下面我们介绍下卸载方法。 windows面板卸载 1.打开宝塔面板windows版安装目录,路径为:面板安装数据盘:\BtSoft\ServerAdmin 2.运行 UnInstall.exe 开始面板卸载 3.最后使用注册表清理软件或者360清理,清理注册表才可以清除服务文件。在卸载完成后,重启服务器以确保卸载干净。 linux面板卸载方法 一、脚本卸载 1.你需要先在面板中将通过面板安装的所有软件卸载,如 nginx、mysql、php 等等,然后,进入 SSH 命令行,输入以下命令: /etc/init.d/bt stop && rm -f /etc/init.d/bt && rm -rf /www/server/panel 2.或者脚本卸载更暴力一点的直接是都卸载,命令如下:
1 2 |
wget http://download.bt.cn/install/bt-uninstall.sh sh bt-uninstall.sh |
二、后续解决 虽然卸载了面板及面板环境,可是系统还是会残留一些文件,比如 www 目录,网站文件。为防止安装别的面时出现一些错误,我们可以用命令:rm –rf www 强制删除 www 文件夹。 以上是关于宝塔面板如何卸载的介绍,安装宝塔面板需要确保纯净系统安装,西部数码云服务器提供预装好宝塔面板的系统模板,可直接安装使用,如需安装请点击 https://www.west.cn/cloudhost/linux.asp from:https://www.west.cn/docs/58109.html
View Details我遇到了 Your project is not referencing the “.NETFramework,Version=4.5” framework. Add a reference to “.NETFramework,Version=4.5” in the “frameworks” section of your project.json, and then re-run NuGet restore. 怎么弄都没法解决,我尝试了git撤销更改也无法解决,最后解决方法:删除/obj文件。 来自stackoverflow ———————————————— 版权声明:本文为CSDN博主「迷惘小书童」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。 原文链接:https://blog.csdn.net/m0_37080285/article/details/90206495
View Details以我们家庭好医.netcore项目做个示例,来看看怎么进一步优化Docker镜像的大小。 这里以先编译再做镜像的方法为示例,当然你也可以把编译部分也写进Dockerfile里。 0.先来看看编译后的项目文件大小:39.2MB 1.先看一下VS2019默认Dockerfile生成的镜像 先上Dockerfile
1 2 3 4 5 6 7 8 |
FROM mcr.microsoft.com/dotnet/aspnet:3.1 AS base WORKDIR /app EXPOSE 5000 FROM base AS final WORKDIR /app COPY . . ENTRYPOINT ["dotnet", "JTHY.Web.dll"] |
看看生成的镜像大小:265MB 2.用大家常用的slim镜像试试 Dockerfile
1 2 3 4 5 6 7 8 |
FROM mcr.microsoft.com/dotnet/core/aspnet:3.1-buster-slim AS base WORKDIR /app EXPOSE 5000 FROM base AS final WORKDIR /app COPY /. /app ENTRYPOINT ["dotnet", "JTHY.Web.dll"] |
镜像大小还是265MB,并没有变小。 3.用大家不常用的alpine镜像来优化 Dockerfile
1 2 3 4 5 6 7 8 |
ROM mcr.microsoft.com/dotnet/aspnet:3.1-alpine AS base WORKDIR /app EXPOSE 5000 FROM base AS final WORKDIR /app COPY /. /app ENTRYPOINT ["dotnet", "JTHY.Web.dll"] |
再来看看镜像大小:146MB,是不是很神奇~
View Details1.设置时间
1 |
timedatectl set-timezone Asia/Shanghai |
2.安装ntpdate工具
1 |
yum -y install ntp ntpdate |
3.设置系统时间与网络时间同步
1 |
ntpdate cn.pool.ntp.org |
View Details
撤销push 1. 执行 git log查看日志,获取需要回退的版本号 2. 执行 git reset –-soft <版本号> ,如 git reset --soft 4f5e9a90edeadcc45d85f43bd861a837fa7ce4c7 ,重置至指定版本的提交,达到撤销提交的目的 然后执行 git log 查看 此时,已重置至指定版本的提交,log中已经没有了需要撤销的提交 git reset 命令分为两种: git reset –-soft 与 git reset –-hard ,区别是: 前者表示只是改变了HEAD的指向,本地代码不会变化,我们使用git status依然可以看到,同时也可以git commit提交。后者直接回改变本地源码,不仅仅指向变化了,代码也回到了那个版本时的代码。 3. 执行 git push origin 分支名 –-force ,强制提交当前版本号。 至此,撤销push提交完成。 撤销commit 1. 执行 git log 查看需要撤销的commit的前面一个提交版本的id; 2. 执行 git reset --hard commit_id ,该commit_id为需要撤销的commit的提交的前面一个提交的版本,即需要恢复到的提交的id,重置至指定版本的提交,达到撤销提交的目的 3. 执行 git log 查看,commit提交已撤销 from:https://www.cnblogs.com/chaoxiZ/p/9714085.html
View Details前言 其实数据库章节基本上的知识点我都写过一遍了,包括这篇事务和MVCC的,但是国庆期间我翻阅资料的时候我发现之前写的还差点意思,例子举得也差点意思,那我就根据我自己最新的理解,加上之前的总结相当于重写了,希望你也有新的收获。 数据库事务介绍 事务的四大特性(ACID) 原子性(atomicity): 事务的最小工作单元,要么全成功,要么全失败。 一致性(consistency): 事务开始和结束后,数据库的完整性不会被破坏。 隔离性(isolation): 不同事务之间互不影响,四种隔离级别为RU(读未提交)、RC(读已提交)、RR(可重复读)、SERIALIZABLE (串行化)。 持久性(durability): 事务提交后,对数据的修改是永久性的,即使系统故障也不会丢失。 事务的隔离级别 读未提交(Read UnCommitted/RU) 又称为脏读,一个事务可以读取到另一个事务未提交的数据。这种隔离级别岁最不安全的一种,因为未提交的事务是存在回滚的情况。 读已提交(Read Committed/RC) 又称为不可重复读,一个事务因为读取到另一个事务已提交的修改数据,导致在当前事务的不同时间读取同一条数据获取的结果不一致。 举个例子,在下面的例子中就会发现SessionA在一个事务期间两次查询的数据不一样。原因就是在于当前隔离级别为 RC,SessionA的事务可以读取到SessionB提交的最新数据。 发生时间 SessionA SessionB 1 begin; 2 select * from user where id=1;(张三) 3 update user set name=’李四' where id=1;(默认隐式提交事务) 4 select * from user where id=1;(李四) 5 update user set name=’王二' where id=1;(默认隐式提交事务) 6 select * from user where id=1;(王二) 可重复读(Repeatable Read/RR) 又称为幻读,一个事物读可以读取到其他事务提交的数据,但是在RR隔离级别下,当前读取此条数据只可读取一次,在当前事务中,不论读取多少次,数据任然是第一次读取的值,不会因为在第一次读取之后,其他事务再修改提交此数据而产生改变。因此也成为幻读,因为读出来的数据并不一定就是最新的数据。 举个例子:在SessionA中第一次读取数据时,后续其他事务修改提交数据,不会再影响到SessionA读取的数据值。此为可重复读。 发生时间 SessionA SessionB 1 begin; 2 select * from user where id=1;(张三) 3 update user set […]
View Details微服务规范 前后端分离 数据库避免大量联合查询 服务设计无状态化 服务拆分最多三层,两次调用: 底层:基础服务层 中间层:组合服务层 上层:对外接口层 提供微服务关系图 统一维护微服务相互调用接口 配置统一到apollo 建议设计独立适配微服务以便调用外部服务 接口实现需幂等 定时任务建议实现在统一的单独微服务中,调用其它微服务接口来实现业务。否则和其它微服务实例一起部署的任务须加锁控制,以避免多实例冲突; 持续集成单元测试、接口测试 容器化并自动构建镜像、kubernetes部署 技术选型: 网关:spring cloud gateway 注册中心: consul 调用: feign 负载均衡:ribbon 熔断限流降级:hystrix 监控:cat, hystrix+trubine 容器:docker+kubernetes 微服务实战 环境准备 玩转Docker 服务注册发现Consul起步 实战课程 微服务概览 大话微服务 Provider微服务实战 Consumer微服务实战 Spring Cloud Gateway实战 Spring Cloud Gateway之Filter实战 微服务之网关——spring cloud gateway简单实践 掌医开放平台gateway服务设计及使用手册 契约测试实战 微服务监控-CAT Sleuth+Zipkin调用链监控实战 Hystrix熔断限流降级&Turbine API监控实战 微服务横向热扩展和自定义负载均衡策略 spring cloud gateway聚合swagger K8S创建服务实践小记 Google Jib:Java容器镜像构建新工具 微服务feign调用失败排查问题思路 微服务demo 微服务demo gitlab仓库
View Details
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 |
DELIMITER // CREATE DEFINER=`root`@`localhost` FUNCTION `FN_IdCardNo15To18`( `v_card` VARCHAR(32) ) RETURNS varchar(32) CHARSET utf8mb4 NO SQL BEGIN DECLARE v_sum varchar(32) DEFAULT ''; -- 校验第一步求和 DECLARE v_mod varchar(32) DEFAULT ''; -- 校验第二步取余 DECLARE i_flag varchar(32) DEFAULT ''; -- 校验第三步计算校验位 DECLARE i_card varchar(32) DEFAULT ''; -- 身份证号 -- 去空格 SET v_card = REPLACE(v_card,' ',''); -- 为空则返回空 IF v_card='' THEN RETURN ''; END if; -- 非15位直接返回 IF LENGTH(v_card)!=15 THEN RETURN v_card; END IF; -- 补充成17位 SET v_card = CONCAT(SUBSTRING(v_card,1,6),'19',SUBSTRING(v_card,7,9)); -- 判断校验位 SET v_sum= (SUBSTRING(v_card,1,1)*7)+ (SUBSTRING(v_card,2,1)*9)+ (SUBSTRING(v_card,3,1)*10)+ (SUBSTRING(v_card,4,1)*5)+ (SUBSTRING(v_card,5,1)*8)+ (SUBSTRING(v_card,6,1)*4)+ (SUBSTRING(v_card,7,1)*2)+ (SUBSTRING(v_card,8,1)*1)+ (SUBSTRING(v_card,9,1)*6)+ (SUBSTRING(v_card,10,1)*3)+ (SUBSTRING(v_card,11,1)*7)+ (SUBSTRING(v_card,12,1)*9)+ (SUBSTRING(v_card,13,1)*10)+ (SUBSTRING(v_card,14,1)*5)+ (SUBSTRING(v_card,15,1)*8)+ (SUBSTRING(v_card,16,1)*4)+ (SUBSTRING(v_card,17,1)*2); -- 求余 SET v_mod = v_sum % 11; -- 补位 IF v_mod = 0 THEN SET i_flag = '1'; END IF; IF v_mod = 1 THEN SET i_flag = '0'; END IF; IF v_mod = 2 THEN SET i_flag = 'X'; END IF; IF v_mod = 3 THEN SET i_flag = '9'; END IF; IF v_mod = 4 THEN SET i_flag = '8'; END IF; IF v_mod = 5 THEN SET i_flag = '7'; END IF; IF v_mod = 6 THEN SET i_flag = '6'; END IF; IF v_mod = 7 THEN SET i_flag = '5'; END IF; IF v_mod = 8 THEN SET i_flag = '4'; END IF; IF v_mod = 9 THEN SET i_flag = '3'; END IF; IF v_mod = 10 THEN SET i_flag = '2'; END IF; SET i_card = CONCAT(v_card,i_flag); RETURN i_card; END// DELIMITER ; |
View Details