git 鼓励大量使用分支:最后进行master和分支之间的合并
git branch
git branch 查看当前有多少分支,并且将当前在使用的分支用*标注出来。
[一定要注意git的分支有从属概念,即:如果创建一个分支的话,这个分支就是当前分支的分支]
git branch name 创建一个新的分支
git branch dev:创建一个叫做dev的分支。
git checkout / -b
git checkout name 切换一个分支,从当前分支切换到 name分支
例如如果当前是在master主分支上:
git checkout dev:从当前的master分支切换到dev分支
git checkout -b name 创建+切换分支
例如如果当前是在master主分支上:
git checkout -b dev:创建一个分支dev,并且从当前的master分支切换到dev分支。
git merge
git merge name 合并分支:把name分支合并到当前分支
(注意要先把本地的修改add、commit之后才能merge哦)
[不止是把dev分支合并到master分支上哦,因为git鼓励使用分支,也可以是除主分支master之外的其它分支之间的合并]
例如如果当前是在master主分支上:
git merge dev:把dev分支合并到master分支上。
例如当前我在dev分支上:
git merge mzy:把mzy分支合并到dev分支上。
注意此时,说的都是没有冲突的情况:如果有冲突,请看下文
如果没有冲突的话,就直接就合并成功了,直接在版本库中体现出来(不用手动add commit),但是只有执行合并动作的分支才会得到合并的结果,被合并分支是不会修改的,但如果冲突了的话,必须手动合并,通用被合并分支中也不会被修改
git branch -d/-D
git branch -d name:删除一个分支
git branch -d dev:在我们把dev分支合并到master分支之后,就可以删除这个dev分支了。此条命令删除dev分支。
这里补充一下,我们正常删除一个分支的话,使用git branch -d就可以了,但是-d参数只能删除已经和upstream分支[我叫做父分支]合并了的分支(不一定就是master分支,也可以是其它次分支之间的合并);
但是如果没有merge过的话,用-d参数就会提示:error: The branch ‘dev’ is not fully merged.
但是下面也正好提醒了:If you are sure you want to delete it, run ‘git branch -D dev’.
如果你要强制删除这个分支,确认这个分支没得用了的话,就可以使用-D参数,强制删除
git branch -D dev-tmp