【git】rebase的作用(举例说明)

内容准备

# 新建文件夹
mkdir git-demo

# 初始化git目录
cd git-demo
git init

# 在当前分支(main)提交内容
vim master.txt
git add .
git commit -m 'master content commit'

# 从main分支新建分支(feture1)
git checkout -b feture1
# 在当前分支(feture1)提交内容
vim feture1.txt
git add .
git commit -m 'feture1 content commit'

# 切换回(main)分支
git checkout main

# 从main分支新建分支(feture2)
git checkout -b feture2
# 在当前分支(feture2)提交内容
vim feture2.txt
git add .
git commit -m 'feture2 content commit'

# 查看分支图(如下)
git log --graph --oneline --all

【git】rebase的作用(举例说明)_第1张图片

将feture1合并到main

因为feture1基于main分支,所以只是简单的将main指向feture1

git checkout main
git merge feture1

【git】rebase的作用(举例说明)_第2张图片

将feture2变基(rebase)

因为feture2也是从master checkout出来的,而变基的意思就是将feture2基于新的分支,而非之前的,因为master已经合入了feture1,所以变基后,feture2的提交接在了feture1的后面,注意,feture2的hash变了,因为生成了新的提交

git checkout feture2
git rebase master

在这里插入图片描述
这也就是一条完美的提交log,而不是各种分叉的log了。

你可能感兴趣的:(git)