几乎每一种版本控制系统都以某种形式支持分支,使用分支意味着你可以从开发主线上分离开来,然后在不影响主线的同时继续
工作。有人把Git的分支模型成为必杀技特性,而正是因为它,将Git从版本控制系统家族里区分开来。
创建分支命令:
git branch (branchname)
切换分支命令:
git checkout (branchname)
当你切换分支的时候,Git会用该分支最后提交的快照替换你的工作目录的内容,所以多个分支不需要多个目录
合并分支命令:
git merge
列出分支:
git branch
没有参数的时候,git branch 会列出你所在本地的分支
此例的意思就是,我们有一个叫做master的分支,并且该分支是当前分支,当你执行git init的时候,默认情况下git就会为你创建一个master的分支,如果我们要手动创建一个分支,执行git branch (branchname) 即可。
此时,已经创建了一个新分支test,当你以此方式在上次提交更新之后创建了新分支,如果后来又有更新提交,然后又切换到了test分支,git将还原你创建分支时候的样子。
接下来我们将演示如何切换分支,我们用git checkout (branch) 切换到我们要修改的分支
当我们切换到test分支的时候,之前添加的2.jpg被移除了,切换回master分支的时候,又重新出现了
我们也可以使用git checkout -b (branchname) 命令来创建新分支并立即切换到该分支下,从而在该分支中操作
如上面所示,我们创建一个新分支newtest,在该分支上移除了文件1jpg,并添加了1.jpg文件,然后切换回主分支,删除的文件又回来了.使用分支将工作切分开来,从而让我们能够在不同开发环境中做事,并来回切换
删除分支:
删除分支命令:
git branch -d (branchname)
分支合并:
一旦某分支有了独立内容,会希望将它合并回到你的主分支。可以使用以下命令将任何分支合并到当前分支去:
git merge
比如合并newtest分支到master分支,git merge newtest命令,合并完后1.jpg就会被删除,就可以删除分支newtest
git branch -d newtest
合并冲突:
合并并不仅仅是简单的文件添加,移除的操作,git也会合并修改