一、分支管理
git默认创建的第一个分支是master分支,也叫主分支。每次提交后就会生成一个新的版本,master分支线就会增长,其中HEAD指针指向的分支就是当前所在分支。
1、创建、查询、切换分支
git branch: 查看当前分支情况
git branch dev: 创建分支(创建完成不代表就在当前所在分支)
git checkout dev :切换分支
git checkout -b dev :创建分支并切换分支
2、分支合并与删除
git merge dev :用于合并指定分支到当前分支.(若要合并到master分支上,首先需要切换到master分支上,使用merge命令将其它分支合并master分支上。)
git branch -d dev :删除dev分支(不能删除当前位置所在分支,需要切换分支再删除)
案例1:
“分支合并时产生冲突,进行分支冲突解除(dev分支与master主分支更改了相同的代码,合并时产生的冲突)”
处理方法:对冲突的代码再编辑,把<<<<<<<HEAD、=======、>>>>>>>dev去掉,保留实际所需要的值,重新提交。
ps.首先要在分支上解冲突,避免在master直接操作。
分支合并时取消 Fast forward 模式:
FastForward意为"快进模式"。主要使用在多分支合并的情况下。即:当前分支合并另一个分支的时候,如果合并的过程中没有冲突的时候,则会通过直接移动两个分支的指针,来达到合并的过程,这个过程就叫做FastForward 。
git merge --no-ff -m “禁用fast forword 模式提交” 分支名
git log --graph --pretty=oneline --abbrev-commit 查看日志即可查看到分支信息
二、标签管理
标签tag是某个提交commit的指针,一个提交可以有多个标签。标签方便后期回溯。(比如标记版本v1.0,v2.0...)
git tag 标签名:对当前版本创建轻标签
git tag :查询已创建的标签
git show 标签名:
git tag -a 标签名 -m "备注信息"版本号:针对指定的版本号打标签
git checkout 标签名:切换到指定的标签,此时不位于任何分支
git tag -d 标签名 :删除指定标签
三、命令总结
PS.太晚了好困,先把命令贴出来,后面补充解说>.<
分支管理:
git branch 查看当前分支情况
git branch dev 创建分支
git checkout dev 切换分支
git checkout -b 创建分支并切换分支
分支合入master:
git merge dev :把dev分支上的内容合并到分支master
git branch -d dev :删除dev分支
分支合并时取消fast forword 模式
fast forword 意为“快进模式”,主要使用在多分支合并的情况下,即;当前分支合并另一个分支的时候如果合并的过程中没有冲突的时候,则会通过直接移动的两个分支的指针,来达到合并的过程。git merge --no-ff -m “禁用fast forword 模式提交” 分支名
git log --graph --pretty=oneline --abbrev-commit 查看日志即可查看到分支信息
标签管理:
标签tag 时某个提交commit的指针,一个提交可以有多个标签,标签方便后期回溯git tag 标签名:对当前版本创建轻标签
git tag :查询已创建的标签
git show 标签名:
git tag 标签名 -m "注释信息"/git tag -a 标签名 -m "注释信息":打标签的时候增加附注标签信息,-a选项表示声明要打一个含附注的标签
git tag -a 标签名 -m "备注信息"版本号:针对指定的版本号打标签
git checkout 标签名:切换到指定的标签,此时不位于任何分支
git tag -d 标签名 :删除指定标签
git push origin 标签名:推送单个标签
git push origin --tags: 推送本地所有标签
git push origin :refs/tags/标签名:远程删除指定标签