惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
人人都是产品经理
人人都是产品经理
Cisco Talos Blog
Cisco Talos Blog
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
V
V2EX
博客园 - 三生石上(FineUI控件)
Martin Fowler
Martin Fowler
WordPress大学
WordPress大学
D
Docker
S
SegmentFault 最新的问题
博客园 - 聂微东
美团技术团队
Apple Machine Learning Research
Apple Machine Learning Research
月光博客
月光博客
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
Last Week in AI
Last Week in AI
M
MIT News - Artificial intelligence
F
Fortinet All Blogs
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
The GitHub Blog
The GitHub Blog
GbyAI
GbyAI
L
LangChain Blog
Vercel News
Vercel News
博客园 - 叶小钗
MongoDB | Blog
MongoDB | Blog
Stack Overflow Blog
Stack Overflow Blog
H
Help Net Security
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
The Cloudflare Blog
Engineering at Meta
Engineering at Meta
T
Threat Research - Cisco Blogs
T
Threatpost
Scott Helme
Scott Helme
T
Tailwind CSS Blog
Latest news
Latest news
Stack Overflow Blog
Stack Overflow Blog
Blog — PlanetScale
Blog — PlanetScale
The Register - Security
The Register - Security
罗磊的独立博客
P
Proofpoint News Feed
腾讯CDC
S
Schneier on Security
雷峰网
雷峰网
A
About on SuperTechFans
T
Tenable Blog
F
Full Disclosure
Cyberwarzone
Cyberwarzone
博客园_首页
有赞技术团队
有赞技术团队
K
Kaspersky official blog

任霏博客

我将关闭服务器:AI彻底掐死了奄奄一息的个人博客 - 博客文章 - 任霏的个人博客网站 Vibe Coding 实现本地模型 Token 自由 IntelliJ IDEA + LM Studio + LM Link + Continue 1Password涨价后,别急着退订1Password,这个操作能帮你省25% - 博客文章 - 任霏的个人博客网站 我,吃饱了撑的注册了个域名,Cloudflare账号没了,不建议将域名放在Cloudflare - 博客文章 - 任霏的个人博客网站 临时邮箱:保护隐私与免骚扰的新方式 - 博客文章 - 任霏的个人博客网站 价值4100万美元SOL被盗SwissBorg在Solana上遭遇安全事件超200万枚ETH排队退出质押 - 博客文章 - 任霏的个人博客网站 注意 Web3 钱包遭遇 NPM 超大规模供应链攻击投毒事件 - 博客文章 - 任霏的个人博客网站 我受到以太坊ERC-20假代币地址投毒攻击记录一下大家谨防上当受骗 - 博客文章 - 任霏的个人博客网站 在2025年使用显卡 NVIDIA RTX 2080 Ti 挖矿收益记录和分析还能不能挖矿 - 博客文章 - 任霏的个人博客网站 分享我是如何成功戒烟的经验(包含失败的经验) - 博客文章 - 任霏的个人博客网站 在 OpenWRT 中配置 PassWall2 插件的教程记录 - 博客文章 - 任霏的个人博客网站 Office Professional Plus 2019 VL 版下载与 KMS 激活 - 博客文章 - 任霏的个人博客网站 最近几天我的 CDN 流量受到来自电信[山东烟台]、[江苏扬州]两地家庭宽带的攻击 - 博客文章 - 任霏的个人博客网站 自建AI服务器使用PVE配置显卡直通虚拟机安装驱动、CUDA和cuDNN运行LLM大模型进行AI炼丹 - 博客文章 - 任霏的个人博客网站 各代英特尔Intel芯片组主板适配兼容的CPU和DDR内存数据统计 - 博客文章 - 任霏的个人博客网站 GitLab Global 国际站将在60天内删除中国大陆、香港、澳门地区的账号 - 博客文章 - 任霏的个人博客网站 Github Copilot Free 开放免费版所有人均可使用 OpenAI GPT-4o、Anthropic Claude 3.5 AI 代码生成服务 - 博客文章 - 任霏的个人博客网站 Cloudflare 更新了订阅协议明确禁止优选IP和搭建梯子的行为 - 博客文章 - 任霏的个人博客网站 Linux(systemd)手动离线安装二进制(binary)MairaDB数据库指定版本 - 博客文章 - 任霏的个人博客网站 流程引擎 Flowable/Activiti 无法启动报错:liquibase - Waiting for changelog lock.... - 博客文章 - 任霏的个人博客网站 Spring Boot 全局异常捕获 ControllerAdvice 无法捕获 过滤器(Filter)和拦截器(Interceptor)中的异常 - 博客文章 - 任霏的个人博客网站 Freenom 收回了全部免费域名(.tk/.cf/.gq/.ga/.ml) - 博客文章 - 任霏的个人博客网站 Alibaba Druid 数据库连接池 takeLast() AQS 死锁导致程序无响应 - 博客文章 - 任霏的个人博客网站 你的网站加入 HSTS preload 预加载列表了吗 - 博客文章 - 任霏的个人博客网站 我的博客网站接入使用 Cloudflare 的架构分享 在 Ubuntu 上的 Nginx 高并发配置实践 - 博客文章 - 任霏的个人博客网站 技术分析黑客敲诈勒索站长的新手法百度对此也无能为力 - 博客文章 - 任霏的个人博客网站 百度站长平台快速收录权限和sitemap提交权限被全部收回 - 博客文章 - 任霏的个人博客网站 极狐 GitLab 免费时代结束不升级付费账号将禁止登陆 免费.ml域名10年委托合同到期被马里共和国收回域名经营权 - 博客文章 - 任霏的个人博客网站 从极狐Gitlab看各种中间件技术选型 - 博客文章 - 任霏的个人博客网站 时隔十年首次收到 Google AdSense 的付款 - 博客文章 - 任霏的个人博客网站 ga域名被加蓬共和国从Freenom公司手中收回域名经营权 - 博客文章 - 任霏的个人博客网站 Freenom 被 Meta(Facebook) 起诉导致暂停 .tk/.ga/.ml/.cf/.gq 等新域名注册 - 博客文章 - 任霏的个人博客网站 生花妙笔信手来 – 基于 Amazon SageMaker 使用 Grounded-SAM 加速电商广告素材生成 [1] - 博客文章 - 任霏的个人博客网站 github.renfei.net 不再完整代理 Github 页面改为代理指定文件 优雅的源代码管理(二):Git 的工作原理 优雅的源代码管理(一):版本控制系统 VCS(Version Control System)与软件配置管理 SCM(Software Configuration Management) ChatGPT 开发商 OpenAI 买下极品域名 AI.com
优雅的源代码管理(三):本地优雅的使用 Git Rebase 变基 - 博客文章 - 任霏的个人博客网站
任霏 · 2023-04-04 · via 任霏博客

本文为日常工作使用,仅做简单的解析,不做深入探究。温馨提示如果你不熟悉命令行,推荐使用可视化界面操作,git 的可视化软件有很多,例如:fork、sourcetree等等。本文是针对个人本地单机上的Git操作,不是 GitFlow 管理流程,注意区分。Git Merge 和 Rebase其实我要吐槽的一个点就是我在项目中看到大量的 Merge 记录,但其实 Merge 并不是这样使用的,大多数情况应当使用 Rebase 变基。首先,为了方便演示,我们先设定两个分支,master 分支和 renfei 分支,其中 master 分支就是我们的基线分支,所以任何冲突和修改都以 master 分支为主,renfei 分支为我自己个人的开发分支,我在这个分支下工作。如果,master 分支上有人提交了新的功能,我需要依赖或者避免后续冲突,我希望把 master 分支的内容拉取到我自己的 renfei 分支,这个时候应该用 git rebase 操作,将我自己的 renfei 分支进行变基变到当前 master 的节点上。如果,我的功能开发完了,需要贡献给 master 分支,这个时候应该用 git merge 操作,将我个人的 renfei 分支融合到 master 分支,并且产生一个 merge commit 提交。Git Rebase 的理解我用大白话和图来讲一下,可能不严谨,我只表示一下意思。在 git 中每个提交都是一个节点,组成的链条,就像链表一样,我们只需要修改一下链表的指针,就可以快速的编辑这个链条,所以变基操作我理解的是下面这个图:git rebase由于 master 分支继续提交,原本的链表落后了,我们只需要修改链表的指针,指向最新的节点即可把 master 分支的变化拉取进自己的分支。Git Merge 的理解我用大白话和图来讲一下,可能不严谨,我只表示一下意思。我的理解,merge 就是把一个分支的所有修改打包成一个 commit 提交,作为新的提交连接到目标分支,如下图:git merge有同学可能会问,为什么不用变基那样改指针?我是这样理解的,master 分支作为基线分支,上面的代码是可信的、安全的、权威的,而自己的开发分支是不可信的、不安全的,所以需要把你的任何修改都作为一个 commit 提交,如果一旦有问题,可以快速回滚这个提交,从而把有问题的代码恢复回去。什么时候使用 Git Merge/Rebase我做个总结,如果你是把权威分支的代码拉取到自己的分支或者不信任的分支中,那就使用 Git Rebase 变基;如果你要往权威分支中贡献代码,那你应该使用 Git Merge。关于 MR(Merge Requests)有些团队会要求往权威分支合并时提交 MR(Merge Requests)合并请求,而不是自己 Merge 以后 push,保护分支禁止 push。有些团队则没有这类规定,如果团队较小、大家合作默契,可以不使用 MR,虽然不符合规定,但往往大家都很忙没有时间跟你 review 代码。不过,我认为 MR 有个好功能,那就是甩锅功能,如果你代码变动巨大,你有点慌,你可以打开一个 MR,然后喊上团队的小伙伴或领导来 review 你的 MR 请求,让他们来点 Merge 按钮,嗯~~出了问题大家一起被锅啊。总结我总结一下我的习惯,从来没出事儿:commit 你可以随便 commit,但是,当你想 push 前,你应该先 pull 并且使用 rebase 变基,然后再 push。commit 的规范此规范推荐执行,但不强制。一个 Commit Message 主要由 Header + Body + Footer 组成,最主要的是 Header,另外两个可选。Header 又由 type、scope、subject 构成,其中 scope 是可选,意思是 commit 受影响的范围,type 主要有以下选项:

  • feat: 新增功能
  • fix: 修复错误
  • docs: 仅更改文档
  • style: 不影响代码含义的更改(空格、格式、缺少分号等)
  • refactor: 既不修复bug也不添加功能的代码更改
  • perf: 提高性能的代码更改
  • test: 添加缺失测试或更正现有测试
  • build: 影响构建系统或外部依赖关系的更改(示例范围:gulp, broccoli, npm)
  • ci: 更改ci配置文件和脚本(示例范围:Travis、Circle、BrowserStack、SauceLabs)
  • chore: 不修改sre或测试文件的其他更改
  • revert: 还原以前的提交
  • subject 就是最主要的,对你本次提交进行简短的描述,不要超过50个字、结尾不加句号

举个标准的例子:build(deps): update xxx maven version 这个 Header 的含义就是这个提交将影响构建功能中的依赖,升级了 xxx 的 maven 版本。