版本管理

介绍

git 的版本管理思路,十分简单:使用一个类似链表的结构,将每次修改记录串联起来。每次提交都会产生一个 SHA1 的唯一标示符

下面是一个仓库提交四次的分支效果,每个节点的意思是节点名(commit 信息 - SHA1)

A(add A - 510fdc) -> B(add B - 0406b6) -> C(add C - 39a9c2) -> D(add D - 3131e0)<当前>

修改最近一次的提交信息

将上次提交的信息(add D),修改为 push D,可以通过 commit 的 amend 指令进行修改,如下:

git commit --amend
# 执行命令后,会进入到一个交互窗口,可以在交互窗口内修改上次的提交信息

将一个分支的修改合并到另一个分支

通过 git cherry-pick SHA1 这个指令可以可以完成目标

master: A(add A - 510fdc) -> B(add B - 0406b6) -> C(add C - 39a9c2)<当前>
                                     \
dev:                             D(add D - 4569c2) -> E(add E - 087342)

如果我们想把 dev 分支 D 节点的修改合并到 master 分支,可以执行:

# 首先确保自己在 master 分支上,git branch master
git cherry-pick 4569c2 # 4569c2 为 D 节点的 SHA1