分支前的准备
1.将版本变为最新的版本。
里面iss53是我自己测试的时候弄得。
创建分支
命令
git branch [指定版本]
切换分支
命令
git checkout [指定分支]
其他版本的分支也是可以的。
最后切换回来。
提交分析
编辑文本
提交文本
提交
git commit -m "信息" jianhsu.txt
查询
git reflog
回归到主分支看看
命令
切换主分支命令
git checkout master
查看文本
cat jianshu.txt
可以发现内容回归到了主分支时候的样子。
合并
分支合并
1.先切换的主分支
2.执行需要融合的分支
目前正在主分支,就不用切换了
融合分支命令
git merge jianshuBranch
截图
可以发现分支里面的内容融合到了主分支。
分支冲突
如果主干道和分支同一个位置出现了文本那么就会出现分支冲突。
产生分支操作
在主干道里面添加内容
创建子分支并切换到自分支
这里可以使用快捷命令
git checkout -b [分支名字]
提示:如果已经有的话,会报错
输入一个没有命名过的名字
在分支里面添加内容
注意我把内容替换成了branch content。
可以使用下面的命令查询文本变化
git diff [文件名]
(讲道理这里应该出现红色的master content,难道我因为在同一位置添加了就没有显示了?)
切换到主干道开始合并
切换命令
git checkout master
合并命令
git merge jianshuBranch2
结果
成功了!
和预期结果不同:
分析:这是因为我没有提交暂存区的内容。。。
回滚到上个版本
重来
提交到本地库!!!
合并冲突出现
根据里面提示,我们可以看出自动合并失败只能手动合并。
手动修改文件内容
从截图里面我们可以看到,内容冲突位置<<<<<<和====以及>>>>>>>>>>>>。这个时候就需要根据你们需求选择保留哪一份。删除就可以了
在这里我保留了分支,里面的内容。
提交
这里不能直接提交到本地库,只能先提交到暂存区
注意现在不能git commit 具体的文件,因为现在的状态很特殊可以看看括号里面的内容。
命令
git commit
截图
退出去就可以了,查询就会常见一个新的版本。
错误并不可怕,主要是要分析为什么会错误,为什么和预期不一样。