一、应用场景
在项目的开发过程中,不可能一味的只是使用master分支来进行提交代码,比如我们需要开发一个新的功能可能一定的周期,但为了防止代码丢失,每天写的代码又还需要提交,提交之后其他人pull了你写的代码之后可能就会运行不起来,因为你的代码功能还没实现,那怎么样既能提交代码又不能让其他人pull你的最新代码呢?这个时候就有了分支的概念branch。
二、使用方法
1.列出本地所有分支
git branch -l // -l 取自local首字母
2.列出远程所有分支
git branch -r // -r 取自remote首字母
3.列出本地和远程所有分支
git branch -a // -a 取自all首字母
4.创建分支
git branch name
5.切换分支
git checkout name
6.创建并切换分支
git checkout -b name
7.本地分支推送到远程分支
git push origin name
8.删除本地分支
git branch --delete name
9.删除远程分支
git push origin --delete name
10.合并分支
git merge A //将A分支的代码合并到当前分支
三、merge和rebase的区别
merge:当master分支合并dev分支的时候,会有一个交点处,这个交点相当于一个commit,所以merge会多了一次commit,并且通过gitk看记录的时候,也会有dev合并到master分支的曲线。
rebase:当master分支合并dev分支的时候,直接把dev分支拿过来拼接到master后面,这样不会有多余的commit,并且通过gitk看记录的时候也是直线,不会有dev到master合并时候的曲线。
合并的时候如果发生冲突:
第一步:git会将两个分支的不同内容都写到文件中,开发者根据需求看是否保留。
第二步:修改完之后:
git add files
git rebase --continue
无需commit