Git删除本地所有分支


前言:最近我在将自己写的一些组件开源,想要发布到maven中央仓库,结果发现网上很多的教程都已经过时,而官网的教程也有一定程度上的混沌,主要是部分文章已经过时导致的。给我这样的小白选手带来了一些麻烦,在我自己成功发布后决定总结一下整个流程以及中间遇到的问题分享出来。
.md5和.sha校验结果;pom.xml文件:同时需要有正确的groupId、artifactId、version、name、description、url、licenses、developers、scm那么接下来我会详细讲解一下关于这些条件的。
项目中原本的方案中是将word保存了所有的修改并转为pdf做在线预览,但是在转换的过程中丢失了修改记录和批注信息。
我司目前只采购了aspose 20.11版本,基于这个版本简单尝试了一下,缺点如下:
高版本的aspose有可能是支持的,我在官网有找到一份文档,需要的朋友可以去看看: Aspose Words export Comment and Revision author Aspose Words 导出注释和修订作者,但我司没有采购高版本aspose的计划,所以方案一我这里是放弃了。
另外我附上我自己写的demo代码以供大家尝试:

⚠️ 警告:不要先绑定礼品卡,在下面的步骤中我有说明何时绑定
🔔 提示:刚开始使用时,不建议登录iCloud。只需要登录app store就可以订阅Apple Music,后期稳定以后再考虑使用iCloud。这一步骤不是必须,但有可能会因为你登录了iCloud导致封控等级变高,所以请先不要直接登录iCloud

首先看第一张图,我们打开Apple Music,在登录了土耳其Apple ID帐号后能看到激活页面有一个订阅按钮(Redeem Now)。
在我们点了订阅按钮以后,由于我们的账户没有激活iTunes,所以我们会看到一个弹窗提示。这里大概的意思是“你的Apple ID还没有在iTunes商店中使用过,请点击review按钮去登记”,所以我们直接点击弹窗中的Review按钮跳转去登记即可。

点击订阅按钮以后,需要输入密码

在新的页面中,我们会看到一个苹果媒体协议的内容,我们默认勾选Agree to Terms and Conditions就行了

关于这个最上面这个信用卡和手机号两个选项,经过我个人的实测是可以不填的,所以不建议大家去选中。选中以后就会变成必填。
如果不小心点到了,有两种解决方案:
点击左上角的“Back”,返回到第一张图的状态,点击Redeem Now按钮重新走流程即可;
选择Mobile Phone,使用国内手机号也是可行的(我没有实测,是网友反馈给我的)之前确实可以,现在是完全不行了
要在这个弹窗中点击按钮,然后随便输入一个土耳其的地址和手机号即可(在之前的文章中,我有给出一个特定的值,已确认那个地址信息会被苹果封控,请勿再用)。 请使用三方服务网站提供的土耳其地址:https://www.meiguodizhi.com/tr-address 或者自行在Google地图中查找一个地址信息进行填写。
这个时候就可以绑定礼品卡重新操作去订阅Apple Music服务了。
如果你此时发现你必须要输入手机号或者信用卡,这意味着你已经被风控了。
你可以选择:
点我跳转到闲鱼
如果闲鱼链接失效,可以直接搜索用户“土耳其礼品卡”,会员名x开头,7结尾,粉丝数量大于150的就是我了
这一章节是故意放到后面的,便于大家直接根据前文操作。 对于一些比较感兴趣的朋友,则可以继续阅读
今日(2023年10月12日)有朋友遇到了需要绑定信用卡或者土耳其手机号的问题,在尝试付费订阅Apple Music时,苹果弹出需要绑定信用卡或手机号的弹窗,且此时为必选,无法跳过。如下图,“Credit/debit card”是默认勾选上的,无法取消。

这与我之前发布的文章《Apple Music激活时遇iTunes注册弹窗的解决方案》是不同的,当时这个页面甚至还可以绑定+86的手机号,而现在只能绑定+90(土耳其)的手机号了。
当然最后我还是给这位朋友解决的,但是操作方法过于复杂,就不多讲了,说出来可能一会儿就死了。
2023年10月12日更新:文章内容已过期,请移步到 《新注册土耳其Apple ID订阅Apple Music详细操作步骤,新手一定要看!》
最近有朋友在激活Apple Music服务时候遇到因新注册Apple ID没有激活iTunes帐户产生了一些问题,这篇文章主要是更详细的解决方案。

首先看第一张图,我们打开Apple Music,在登录了土耳其Apple ID帐号后能看到激活页面有一个订阅按钮(Redeem Now)。
在我们点了订阅按钮以后,由于我们的账户没有激活iTunes,所以我们会看到一个弹窗提示。这里大概的意思是“你的Apple ID还没有在iTunes商店中使用过,请点击review按钮去登记”,所以我们直接点击弹窗中的Review按钮跳转去登记即可。

点击订阅按钮以后,需要输入密码

在新的页面中,我们会看到一个苹果媒体协议的内容,我们默认勾选Agree to Terms and Conditions就行了


关于这个最上面这个信用卡和手机号两个选项,经过我个人的实测是可以不填的,所以不建议大家去选中。选中以后就会变成必填。
如果不小心点到了,有两种解决方案:
点击左上角的“Back”,返回到第一张图的状态,点击Redeem Now按钮重新走流程即可;
选择Mobile Phone,使用国内手机号也是可行的(我没有实测,是网友反馈给我的)
要在这个弹窗中点击按钮,然后随便输入一个土耳其的地址和手机号即可,我这里提供了一个参考数据:
1 | Street: Gevhernesibe |
2024年12月4日更新:这个方案最终被抛弃了,建议大家直接使用 https://github.com/docker-easyconnect/docker-easyconnect 即可
aTrust是深信服原easyconnect的升级产品,重点打造了一个“零信任”的概念,就是这个概念让我头皮发麻,其在官网直接挂着
终端检测深入:支持进程级检测,可发现和阻止终端上非可信应用进程;在登录时、每一次访问业务时,对终端环境持续进行检测和认证,确保终端合规。

这和病毒有什么差别么?所以我当然不能让这种糟粕运行在我的macOS宿主机上,于是我开始了折腾之旅。
这个申请的方法大家可以在网上搜一下,有很多详细的图文教程,我后面会考虑补充一篇博客,但现在没时间搞。
当然你也可以试试免费的Oracle VM VirtualBox,理论上来说也是一样可用的。
我要特别讲一下为什么要下载debian 11,这是因为atrust官方提供的linux安装包特别强调了自己支持的是国产化的uos和麒麟os,但是咱们下载下来以后是一个deb文件,经过我自己测试,将deb包转为rpm包以后,在centos 7/centos 7.5/centos 8上都无法安装。
当然我不排除是我自己操作有问题,大家如果特别喜欢用centos的,可以考虑自己折腾一下。但是centos已经不维护了,在使用过程中会有一些问题。
经过我自己的测试,debian 11是可以使用的。
debian 11的镜像推荐大家用BT种子的方式,实测比直接通过镜像站下载的速度更快,但请不要使用迅雷这类只下载不上传的“吸血”软件。
BT种子官网下载地址:debian-11.6.0-amd64-DVD-1.iso 其他版本的镜像大家可以自行在官网查找
补充信息:BT下载软件推荐qbittorrent,请在下载成功以后保持至少24小时运行时间以供其他人从您本地获取文件。如果您有NAS服务器那就更好
请不要使用迅雷这类只下载不上传的“吸血”软件
这里我就不写具体的操作步骤了,请注意:
可以改用镜像源,修改/etc/apt/sources.list文件的内容,这里用aliyun举例:
1 | deb https://mirrors.aliyun.com/debian/ bullseye main non-free contrib |
然后再执行apt-get update即可
如果你一直遇到更新失败,你可以按照这个检查顺序:
- ping mirrors.aliyun.com 看看能否ping通网络
- 检查 ping mirrors.aliyun.com 返回的IP是否是宿主机可以ping通的IP,以此确认是不是dns解析存在问题。存在问题可以通过修改debian 11上的/etc/hosts文件来解决
- 检查时区/时间是否正确
atrust下载客户端时,选择amd 64 麒麟Kylin即可,官网似乎没有找到下载介绍页,这个地址应该是有各个团队/企业的VPN登录页提供的
下载完的deb安装包,可以通过scp命令直接传输到debian中,当然也可以使用一些sftp客户端
安装deb时,需要带上相关的依赖,你可以执行
1 | sudo apt-get -f install atrust.deb |
debian 11默认安装过程中没有开启root账号的ssh远程登录配置,你得去把这个打开。可参考:debian 开启root账号远程ssh登录
或者你直接在虚拟机页面中执行
通过修改/etc/sysctl.conf文件中的net.ipv4.ip_forward的值改为1,并执行sysctl -p使得配置生效即可
再把debian的防火墙关闭即可
1 | sudo route add 1.0.0.0/8 【这里写上debian虚拟机的IP地址】 |
这样就可以了
1.0.0.0/8这个是我随便写的,如果你们用的是192,或者172的开头的IP地址,那么就是192.0.0.0/8或者172.0.0.0/8。
当然如果你本地的IP地址就是192开头的,那么你可能需要拆得更细致一点。假设你本地的IP地址是192.168.1.100,你的内网地址是192.168.31开头,那么你的shell脚本就应该是
1 | sudo route add 192.168.32.0/24 【这里写上debian虚拟机的IP地址】 |
这个地方需要你对网络有一定的了解,添加成功以后可以使用telent命令确认一下是否能通特定的端口
此外你还需要注意两点:
1 | sudo route delete 1.0/8 |
这样做了以后,不管你是ping还是 telnet 还是 curl 或者是socket连接都可以无感体验,debian 11推荐1c1g的配置即可,肯定会比你直接在macOS宿主机上登录atrust会耗电一些。如果有条件的话,也可以把debian 11部署到其他的电脑上。
我尝试过单独重启网络
1 | sudo systemctl restart networking |
但实际没有效果,具体原因我暂时也没时间去搞了,我目前是通过重启debian 11来解决的
1 | sudo systemctl reboot -i |
macOS上的docker本质上也是一个运行在虚拟机中的,并且docker在官网已经明确说明macOS上的docker服务无法实现从宿主机到docker容器的通信
GitHub上也有相关的解决方案(docker-connector),如果你感兴趣的话,你可以动手尝试一下。docker安装debian 11以后,安装一个vnc server即可解决atrust客户端登录的问题,其他操作应该和我这篇博客的方法相差不大
本文主要是记录个人在使用jetcache时遇到的一些问题以及相应的解决方案,次之是将这些问题和解决方案发布到互联网中希望能帮助到一些人,如果觉得文章写得还不错,可以点赞收藏以鼓励我继续更新博客,这将对我非常重要。
流水账子标题中重复带上jetcache关键字主要是为了提高搜索的准确性,本身文章上下文已足够表达含义,但是为了优化搜索情况特意加上的。
这个是jetcache的默认策略,我之所以遇到这个问题是我自己写的测试代码时直接返回了null,我误认为是我spring aop配置有问题,导致缓存没有生效,实则是jetcache默认策略。
在com.alicp.jetcache.anno.Cached注解中有一个属性cacheNullValue,默认值为false,表示不缓存空值。
这点其实在GitHub issue清单中有好几个issue 都是与这个问题相关的,如果你也是从Spring Cache转到jetcache,由于缺少模糊清空缓存,会导致整个系统原有的实现都必须调整。
这个特性主要影响到缓存的数据是一个列表或者是一整颗树的情况,当列表或树中部分值更新以后,这个列表的缓存或树的缓存没有办法更新。