跳到主要内容

用 GPG 加密 github commit

· 阅读需 8 分钟
Kimi Gao
Fullstack & AI

背景

GnuPG(简称 GPG),它是目前最流行、最好用的开源加密工具之一。

要了解什么是GPG,就要先了解 PGP

1991年,程序员 Phil Zimmermann 为了避开政府监视,开发了加密软件PGP。这个软件非常好用,迅速流传开来,成了许多程序员的必备工具。但是,它是商业软件,不能自由使用。所以,自由软件基金会决定,开发一个PGP的替代品,取名为GnuPG。这就是GPG的由来。

GPG 有许多用途,比如对文件,邮件的加密。而本文要说的是,如何使用 GPG 来加密 Github Commits。

在 Github 上查看一些项目的 Commits 时,会发现「This commit was signed with a verified signature.」字样,具体来说,就是下图示例那样:

git merge 和 rebase 的区别

· 阅读需 13 分钟
Kimi Gao
Fullstack & AI

分支的合并

分支的合并主要有两种方法:mergerebase,例如 release 分支或 hotfix 分支测试完成后,最后要合并回 master 分支,使用这两种方法,合并后分支的历史记录会有很大的差别,本文主要详细论述了这两种方法的差异以及使用场景。

merge

假设有两个分支:bugfix 分支是从 master 分支分叉出来的。下面主要分两种情况来讨论 merge 操作。

用 git squash 合并多个 commit

· 阅读需 3 分钟
Kimi Gao
Fullstack & AI

当同一个功能或 bug 的提交数量过多的时候,可以进行 commit 合并操作,比如如下场景:

我想将前面两个 commit 进行合并,我先找到第三个 commit 的 hash 值(git log 或 glol),执行以下命令:

$ git rebase -i e6c829f

oh-my-zsh: grbi e6c829f

一旦运行了'rebase -i'命令,你所预设的编辑器会被调用,其中含有如下的内容:

Node.js Package Version & Dependencies

· 阅读需 4 分钟
Kimi Gao
Fullstack & AI

Semantic version

一般来说,版本号主要分为三部分:主版本号(major)次版本号(minor)修补版本号(patch)。以2.6.6为例,major 为 2,minor 为 6,patch 为 6。

  • major: 主版本号,新的架构调整或不兼容的修改被加入公共 API 必须递增,次版本号和修订号必须归零。
  • minor: 次版本号,新增功能,兼容老版本,或公共 API 标记为弃用时必须递增,修订号必须归零。
  • patch: 修订号,修复 bug,兼容老版本。