Git学习--> 分支管理
2013-10-01 11:49
113 查看
5分支操作命令
参考文献 : http://www.ruanyifeng.com/blog/2012/07/git.htmlgit branch --查看分支
git branch -d <分支名称> --删除分支
git branch -D <分支名称> --强制删除
git checkout -b <分支名称> --建立分支
git checkout <分支名称> --切换分支
git merge --no-ff <分支1> --合并分支
PS:Git分支管理,可以看阮一峰老师写的博客
开发过程中碰到的问题也比较多,在不影响主要分支的情况下,我们建立一个主要分支的backup,另外一套,俗称主分支的影子,我们现在这个影子上进行各种添加修改删除等等操作,然后在分支上测试,测试完成后,我们再将分支合并到主库上面去,如下图所示
图5.1
图5.2
5.1 建立分支命令
Git创建Develop分支的命令:git checkout -b develop master
git branch 察看当前所在分支,如果没有分支就会显示在master下
看到有命令,带*的就表示我们目前所在的分支。注意到上面是master分支,建立develop分支之后,马上跳到了develop分支了。
$ git branch
* master
skyman@SKYMAN-CF7E3587 ~/manual56/docs/Chapter_17 (master)
$ git checkout -b develop master
Switched to a new branch 'develop'
skyman@SKYMAN-CF7E3587 ~/manual56/docs/Chapter_17 (develop)
$
另外git的分支跟svn里面的分支包括svn里面的tags不太一样,svn里面的分支以及tag是直接copy到另外一个文件以及文件夹下面,保存了当前为止所有代码的一个副本。但是git的分支是没有这个功能的,在查阅官方文档之后,我的理解是git它只是设置了一个指针,指到这个修改版本这个修改记录下指到某一个修改点,然后从这个点之前的所有修改都属于这个分支或者说属于这个tag,有点拗口吧,如果实在没有理解的话,大家也可以查看一些资料,推荐去阅读英文官网http://en.wikipedia.org/wiki/Git_(software)#External_links。
5.2 切换分支
切换分支用checkout命令,比如Git checkout master$ git checkout master
Switched to branch 'master'
skyman@SKYMAN-CF7E3587 ~/manual56/docs/Chapter_17 (master)
$
另外如果需要从develop分支下分支合并一些修改记录到master下,使用merge命令,先确保跳转到master分支下,然后使用merge命令带上—no-ff参数。
$ git checkout master
Switched to branch 'master'
skyman@SKYMAN-CF7E3587 ~/manual56/docs/Chapter_17 (master)
$ git merge --no-ff develop
Already up-to-date.
skyman@SKYMAN-CF7E3587 ~/manual56/docs/Chapter_17 (master)
$
但是这里显示的是already up-to-date,由于刚才没有任何修改,所以显示是最新的记录。另外分支的话,用完分支之后,我们觉得分支没有用了,我们可以将分支删除。
5.3 删除分支
用-d参数来实现删除分支功能,这个要在确保所以修改已经提交的情况下再执行此删除操作,但是如果我们有一些修改没有提交但是又想强制删除这个分支呢?那怎么办?可以用-D参数来实现强制删除功能,这里实验没有做任何修改,所以用-d参数就可以了。$ git branch -d develop
Deleted branch develop (was 3e96f90).
skyman@SKYMAN-CF7E3587 ~/manual56/docs/Chapter_17 (master)
$ git branch
* master
skyman@SKYMAN-CF7E3587 ~/manual56/docs/Chapter_17 (master)
$
最后用git branch命令查看下,已经没有develop分支了,它被删除了。
相关文章推荐
- Git学习--> 社区化协作以及分支操作
- git学习------>Git 分支管理最佳实践
- Git 学习笔记<分支管理> (三)
- Git学习使用(五):分支管理<Ⅰ>
- pro git 学习<一>
- Git学习系列(七)Bug和Feature分支管理详解
- 版本控制(八)--git分支&管理
- git学习笔记(一):创建和管理远程分支
- git学习笔记 -- day04 分支管理
- Git学习笔记(四)——分支管理和远程操作
- Git学习 <day5>-分支
- git 分支管理策略 与 物理实现 --author by阮一峰 & 小鱼
- learn git 廖雪峰GIT教材2 解决冲突&amp;amp;&amp;amp;分支管理策略
- <5> Git的分支管理
- Git学习05 --分支管理02
- git学习(4)远程库和分支管理
- git学习------>在CenterOS系统上安装GitLab并自定义域名访问GitLab管理页面
- Git学习04 --分支管理
- Git学习系列(六)解决分支冲突及分支管理策略
- git的学习笔记(分支管理)