git分支管理
什么是分支:
在开发软件时,可能有多人为同一个开发功能并修复bug,可能存在多个release版本,并且需要对多个版本进行维护。git的分支功能可以支持同时多个功能的开发和版本管理。
分支是为了将修改记录的整体流程分叉进行保存。分叉后的分支不受其他分支的影响。所以在同一个数据库中可以同时进行修改。
分叉的分支可以进行合并。下面是使用分支进行作业的图示:
几乎每一种版本控制系统都以某种形式支持分支。使用分支意味着你可以从开发主线上分离开来,然后再不影响主线的同时继续工作。
创建分支的命令:
git branch <branchname>
切换分支:
git checkout <branchname>
当你切换根治的时候,Git会用该分支的最后一次提交的快照替换你的工作目录的内容,所以多个分支不需要多个目录。
合并分支的命令:
git merge
你可以多次合并到统一分支,也可以选择在合并之后直接删除被并入的分支。
Git分支管理:
git branch
没有参数时,git branch会列出你在本地的分支。
这个例子的意思是,我们有三个分支:master origin testing 星号在谁前面谁就是当前分支。
当执行git init 的时候,默认情况下git会创建master分支。
如果需要手动创建一个分支,就使用 git branch <branchname>即可。
当你以此方式在上次提交更新之后创建了分支,如果后来又有更新的提交,然后切换到了testing分支,Git将还原你的工作目录到你创建分支时候的样子。
接下来我们将演示如何切换分支:使用 git checkout <branchname> 切换到我们要修改的分支
git checkout testing
当我们切换到testing分支的时候,我们添加的新文件test.txt被溢出了。切换到master分支的时候,它们又重新出现了。
删除分支的命令:git branch -d <branch name>
分支合并:
一旦分支有了独立内容,你终究会希望将它合并回到你的主分支。你可以使用以下命令将任何分支合并到当前分支中去。
git merge
$ git branch * master newtest $ ls README test.txt $ git merge newtest Updating 3e92c19..c1501a2 Fast-forward runoob.php | 0 test.txt | 1 - 2 files changed, 1 deletion(-) create mode 100644 runoob.php delete mode 100644 test.txt $ ls README runoob.php以上
实例中我们将newtest 分支合并到主分支去,test.txt文件被删除,合并完后就可以删除分支。
--git branch -d newtest
删除后就只剩下master分支了。