- 可以到这里下载安装
Git: git-scm.com/download/wi…- Learn Git Branching游戏在这里:learngitbranching.js.org/?locale=zh_…
Level 1-3 《Git Merge合并分支》
游戏答案:
# 新建bugFix分支,并切换到这个分支
git checkout -b bugFix
# 在bugFix分支上提交一次
git commit
# 切换到main分支
git checkout main
# 在main分支提交一次
git commit
# 将bugFix分支合并到当前main分支
git merge bugFix
准备实验环境
# 新建一个空文件夹
mkdir level-1-3
cd level-1-3
# 初始化本地仓库
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
真实答案:
# 新建并切换到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分支合并到当前master分支,生成一个新的提交,填写提交信息"m4"
git merge bugFix -m "m4"
merge时出现提示:
自动合并了a.txt,
在a.txt中存在合并冲突,
自动合并失败,需要修正冲突然后再提交。
查看仓库状态:
git status
在主分支上存在未完成的合并操作。
(修正冲突后执行“git commit”)
(用“git merge --abort”终止合并)
使用文本编辑器修正a.txt:
修正文件后再提交:
# 文件添加到暂存区
git add a.txt
# 执行提交,使用之前merge时指定的提交信息“m4”,不再重新编辑提交信息
git commit --no-edit
# 查看提交树
git log --graph --pretty=oneline --all
这时再查看仓库状态:
git status