分支:当前分支上的工作内容在其他分支上是看不到的,只有和其他分支合并后才能在其他分支看到!!!
创建切换分支:
创建分支命令:git branch 分支名称
切换分支命令:git checkout 分支名称 或者git switch 分支名称两个命令可以放在一起缩写
创建并切换到所创建的分支:git checkout -b 分支名称或者git switch -c 分支名称
删除分支:
命令:git branch -d 分支名称
查看当前分支命令:git branch
git branch命令会列出所有分支,当前分支前面会标一个*号
合并分支:
命令:git merge 分支名称
git merge 命令用于合并指定分支到当前分支
命令:git merge --no-ff -m”描述” 分支名称
合并分支时,可以加上–no-ff参数就可以用普通模式合并,合并后的历史有分支,能看出来曾经做过合并,
解决冲突:
在分支上提交后,又切换到master分支修改提交,这种情况git无法快速合并,文件存在冲突,必须手动解决冲突,文件手动编辑为我们希望的内容,再提交,这样冲突就解决了,
用命令:git log --graph或git log --graph --pretty=oneline --abbrev-commit可以查看分支合并图
修复bug
1、创建新的bug分支进行修复,然后合并,最后删除
1、当手头工作没有完成时,先把工作现场存储一下
命令:git stash然后去修复bug,再
通过命令:git stash pop,回到工作现场,
或者
使用命令:git stach apply恢复,
然后通过命令:git stash drop来删除存储的工作记录
命令:git stash list 查看所存储的工作,
当有多个存储工作时用
命令:git stash apply stash@{0} 恢复指定的工作
把bug提交的修改”复制”到当前分支
使用命令:git cherry-pick
避免重复劳动
Feature(功能)分支添加一个新功能时,你肯定不希望因为一些实验性质的代码,把主分支搞乱了,所以,每添加一个新功能,最好新建一个feature分支,在上面开发,完成后,合并,最后,删除该feature分支。功能分支已经完成,跳回需要合并的分支,然后合并,如果合并前通知这个功能不需要了,就删除这个功能分支但使用命令:git branch -d 分支名称,删除功能分支是,提示分支没有被合并,此时可以使用强制删除,
命令:git branch -D 分支名称