如何同步多个 git 远程仓库

在本地 git 仓库里找到这个文件  .git/config, 内容如下:

改为如下:

合并 2 个 remote 配置

Continue reading "如何同步多个 git 远程仓库"

软件项目版本号的命名规则及格式

版本控制比较普遍的 3 种命名格式 :

一、GNU 风格的版本号命名格式 :
主版本号 . 子版本号 [. 修正版本号 [. 编译版本号 ]]
Major_Version_Number.Minor_Version_Number[.Revision_Number[.Build_Number]]
示例 : 1.2.1, 2.0, 5.0.0 build-13124

二、Windows 风格的版本号命名格式 :
主版本号 . 子版本号 [ 修正版本号 [. 编译版本号 ]]
Major_Version_Number.Minor_Version_Number[Revision_Number[.Build_Number]]
示例: 1.21, 2.0

三、.Net Framework 风格的版本号命名格式:
主版本号.子版本号[.编译版本号[.修正版本号]]
Major_Version_Number.Minor_Version_Number[.Build_Number[.Revision_Number]]
版本号由二至四个部分组成:主版本号、次版本号、内部版本号和修订号。主版本号和次版本号是必选的;内部版本号和修订号是可选的,但是如果定义了修订号部分,则内部版本号就是必选的。所有定义的部分都必须是大于或等于 0 的整数。 Continue reading "软件项目版本号的命名规则及格式"

MongoDB基本命令

MongoDB是NoSQL数据库系统中比较流行的数据库之一。它也是最接近关系型数据库的,一个数据库可以包含多个集合(Collection),类似于关系数据库中的表;而每个集合中可以存储一组由列标识的记录,列是可以自由定义的,非常灵活,这就类似于关系数据库表中的每一条记录。下面和大家一起熟悉下MongoDB的基本管理命令。 Continue reading "MongoDB基本命令"

正则表达式或("|")匹配优先级控制

最近在使用阿里云的日志服务,其中比较灵活的地方是支持自定义正则匹配,可以使用正则匹配字段,也可以作为多行日志的条件。公司的日志格式没有一个统一的标准,大概有几十种日志格式,还好我的正则原本玩得666,否则我们这日志部署到阿里云日志服务上可能一般人得玩累死。

匹配多行日志开始头(单行亦如此)的正则格式如下:

匹配日志内容的正则格式如下:

Continue reading "正则表达式或("|")匹配优先级控制"

Shadowsocks Server And Client

Server

其中 config.json的配置如下:

Client

其中 config.json的配置如下:

 

Linux 下 shadowsocks + polipo 客户端全局代理

shadowsocks

建立配置文件,例:服务器地址为 xxxx.com,端口号 52239,密码 SOME_PASSWORD,保存到 ~/shadowsocks.json Continue reading "Linux 下 shadowsocks + polipo 客户端全局代理"

etcd: 从应用场景到实现原理的全方位解读

随着CoreOS和Kubernetes等项目在开源社区日益火热,它们项目中都用到的etcd组件作为一个高可用强一致性的服务发现存储仓库,渐渐为开发人员所关注。在云计算时代,如何让服务快速透明地接入到计算集群中,如何让共享配置信息快速被集群中的所有机器发现,更为重要的是,如何构建这样一套高可用、安全、易于部署以及响应快速的服务集群,已经成为了迫切需要解决的问题。etcd为解决这类问题带来了福音,本文将从etcd的应用场景开始,深入解读etcd的实现方式,以供开发者们更为充分地享用etcd所带来的便利。 Continue reading "etcd: 从应用场景到实现原理的全方位解读"

git清理历史记录中的大文件

查看哪些历史提交过文件占用空间较大

使用以下命令可以查看占用空间最多的五个文件:

rev-list命令用来列出Git仓库中的提交,我们用它来列出所有提交中涉及的文件名及其ID。 该命令可以指定只显示某个引用(或分支)的上下游的提交。

--objects:列出该提交涉及的所有文件ID。

--all:所有分支的提交,相当于指定了位于/refs下的所有引用。

verify-pack命令用于显示已打包的内容。 Continue reading "git清理历史记录中的大文件"