Git闯关游戏:Learn Git Branching Level 1-4 Git Reaase变基

276 阅读2分钟



Level 1-4 《Git Reaase变基》

image.png

这一关使用rebase命令进行分支的变基操作,不仅在游戏里学习,你还可以在真实环境中进行实验。



游戏答案

# 新建并切换到bugFix分支
git checkout -b bugFix

# 在bugFix分支提交一次
git commit

# 切换到main分支
git checkout main

# 在main分支提交一次
git commit

# 切换到bugFix分支
git checkout bugFix

# 将bugFix分支rebase变基到main分支
git rebase main



准备实验环境

下面命令完整CV到Windows cmd命令行窗口中执行:

# 准备一个空文件夹
mkdir level-1-4
cd level-1-4

# 初始化本地仓库
git init

# 写一个文件并提交一次
echo 111>>a.txt
git add .
git commit -m "c0"

# 再修改文件并提交
echo 222>>a.txt
git add .
git commit -m "c1"

# 查看提交树
git log --graph --pretty=oneline --all

image.png



真实答案:

下面命令完整CV到Windows cmd命令行窗口中执行:

# 新建并切换到bugFix分支
git checkout -b bugFix

# 在bugFix分支修改文件并提交
echo 333>>a.txt
git add a.txt
git commit -m "c2"

# 切换到master分支
git checkout master

# 在master分支修改文件并提交
echo 444>>a.txt
git add a.txt
git commit -m "c3"

# 切换到bugFix分支
git checkout bugFix

# 将bugFix分支rebase变基到master分支
git rebase master



rebase后的提示:

image.png

请手动解决文件冲突后,执行git add,再执行git rebase --continue
或者还可以执行git rebase --skip跳过这个提交,或执行git rebase --abort放弃rebase变基操作恢复到之前的状态。



查看仓库状态:

git status

image.png

这里也是类似的提示



记事本修改a.txt后,继续完成rebase

image.png

# 文件添加到暂存区
git add a.txt

# 设置git编辑器环境变量为true,继续完成变基时无需重新编辑提交信息
set GIT_EDITOR=true

# 解决文件冲突后,可以继续完成变基操作
git rebase --continue

# 该环境变量值置为空,可恢复默认编辑器
set GIT_EDITOR=

git log --graph --pretty=oneline --all

image.png