undefined

kubeadm是官方社区推出的一个用于快速部署kubernetes集群的工具。

这个工具能通过两条指令完成一个kubernetes集群的部署:

1
2
3
4
5
# 创建一个 Master 节点
$ kubeadm init

# 将一个 Node 节点加入到当前集群中
$ kubeadm join <Master节点的IP和端口 >

1. 安装要求

在开始之前,部署Kubernetes集群机器需要满足以下几个条件:

查看更多

undefined

kubeadm是官方社区推出的一个用于快速部署kubernetes集群的工具。

这个工具能通过两条指令完成一个kubernetes集群的部署:

1
2
3
4
5
# 创建一个 Master 节点
$ kubeadm init

# 将一个 Node 节点加入到当前集群中
$ kubeadm join <Master节点的IP和端口 >

1. 安装要求

在开始之前,部署Kubernetes集群机器需要满足以下几个条件:

查看更多

undefined

git 分支管理

1. 主分支Master

所有提供给用户使用的正式版本,都在这个主分支上发布

2. 开发分支 Develop

日常开发分支

1
2
3
4
5
6
7
8
# 创建 develop 分支
git checkout -b develop master
# 切换到 master 分支
git checkout master
# 对 develop 分支进行合并
# git默认就执行快进式合并(fast-farward merge),会直接将 Master 分支指向 Develop 分支。
# 使用 --no-ff 参数,会执行正常合并,在 Master 分支上生成一个新节点
git merge --no-ff develop

3. 临时性分支

用于应对一些特定目的的版本开发。临时性分支有三种:

查看更多

undefined

git 拉取子模块

1
2
3
4
5
6
7
8
9
10
11
12
13
1. 如果首次克隆仓库及其模块,使用:
git clone --recursive 仓库地址

2. 对于仓库首次拉取模块,可以使用:
git submodule update --init --recursive

3. 更新子模块(适用于git 1.8.2及以上版本)
git submodule update --recursive --remote

4. 更新子模块(适用于git 1.7.3及以上版本)
git submodule update --recursive
或者 git pull --recurse-submodules

undefined

git 修改 commit 信息

主要分为三种情况:

1. 修改刚刚 commit,还没有 push 的 commit 信息

1
git commit --amend  // 出现 vim 界面,修改 commit 信息完成保存后退出即可

2. 刚刚 push,要修改最近一个 push 的 commit 信息

1
2
3
4
// 首先修改本地 commit 信息
git commit --amend
// 根据提示,提交到远端
git push origin xxx

查看更多

undefined

Git 仓库之间的代码合并

背景:有两个仓库A、仓库B。想要合并仓库 A 中的某个分支到仓库 B 中的某个分支。假设要将仓库 A 的分支:dev_A 合并到仓库 B 的分支:dev_B

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
1. 进入仓库 B 的目录,切换到仓库 B 分支 dev_B 上
git checkout dev_B

2. 将仓库 A 的地址添加到仓库 B 中
git remote add 仓库名称 地址
如:git remote add jay_qapm_android_sdk git@git.woa.com:jaylin/RUM_SDK_Android.git
jay_qapm_android_sdk git@git.woa.com:jaylin/RUM_SDK_Android.git (fetch)
jay_qapm_android_sdk git@git.woa.com:jaylin/RUM_SDK_Android.git (push)
origin git@git.woa.com:TAM/QAPM_SDK.git (fetch)
origin git@git.woa.com:TAM/QAPM_SDK.git (push)

3. 查看本地的远程仓库
git remote -v

4. 抓取仓库 A 数据到仓库 B 中
git fetch 仓库名称
如:git fetch jay_qapm_android_sdk

5. 将仓库 A 的分支在仓库 B 中新建一个新分支
git checkout -b 新分支 仓库名称/仓库分支
如:git checkout -b temp_dev_A jay_qapm_android_sdk/dev_A

6. 然后切换到目的分支
git chekcout dev_B

7. 进行合并
git merge --no-ff temp_dev_A

undefined

1. git merge 的 –no-ff 详解

1
2
3
4
5
6
7
8
--no-ff 指的是强行关闭 fast-forward 方式
注意:fast-forward 方式就是当条件允许的时候,git 直接把 HEAD 指针指向合并分支的头,完成合并。属于“快进方式”,如果删除分支,就会丢失分支信息,因为在这个过程中没有创建 commit

git merge --squash 用来把一些不必要的 commit 进行压缩。比如:feature 分支在开发时写的 commit 很混乱,合并的时候不希望把这些历史 commit 带过来,于是使用 --squash 进行合并,此时文件已经同合并后一样了,但不移动 HEAD,不提交。需要进行一次额外的 commit 来总结一下完成最终的合并即可

总结:
--no-ff:不使用 fast-forward 方式合并,保留分支的 commit 历史
--squash:使用 squash 方式合并,把多次分支 commit 历史压缩为一次即可