使用Eclipse-Maven-git做Java开发(15)--git分支和标签的使用
2016-01-23 00:00
525 查看
摘要: 分支与标签的创建、合并、删除等。
到目前为止我们都还是在一个名为master的分支里面做操作,而git的优势之一就是对分支的操作,在本文中就来说一说怎么搞分支和标签。
关于git中分支和标签的管理上的建议,大家可以参考这篇文章:Git分支管理策略 以及 一个成功的 Git 分支模型
当然,本文并不打算说怎么规划你的分支和标签,因为我自己也没有闹明白,本文只说怎么创建、合并、删除分支以及标签,关于规划方面的请根据自己的需要来,可以看一下那两篇文章。
在eclipse中创建分支,请在仓库视图中右键->"switch to"->"new branch",打开新建分支对话框:
在对话框中指定新建的分支基于什么,推送和拉取的配置,分支名是什么等:
新分支的基础默认是当前检出的分支,我们可以进行“选择”,可以在弹出框里面选择具体需要的,现在还没有创建标签,所以“tags”下面还是空的,以后有了标签,就可以基于标签创建分支了。名称可以按照自己的需要命名,只要符合命名要求就可以,不能重复这是必须的。推送和拉取的配置勾上就可以了。
一切就绪,“确定”之后就已经在新的分支上了。
可以看到,本地已经有了这个分支,但是远端上实际上还没有,因为我们还没有推送这个分支:
在那条仓库记录上面右键->“remote”->"push",打开推送对话框:
第一步是选择远端,也可以添加远端,以后有需要的可以配置,这里不需要管,直接下一步即可:
接下来就是选择推送的内容和类型了,有分支啊、标签啊,添加、更新、删除等等,这里将要推送的分支选上,然后添加进列表即可:
配置好之后就可以开始推送啦:
剩下的就是下一步和结束啦。
完成后可以在网页上和本地看到变化:
经过实际使用,发现一个问题,那就是在新分支上第一次推送提交的时候还是会叫推送这个分支,不知道为何。
(和之前的提交一样)
合并分支要讲究“主动方”和“被动方”的,要将develop合并到master中,需要先切换到master,然后将develop合并进来。
先切换到master分支,在仓库记录上右键->"switch to"->"master"。
然后再右键->"merge":
在对话框中有一些合并的选项:
首先大框中有可以选择来进行合并的项目,远端和本地分别显示的,因为有时候本地和远端是不同步的,除了分支还可以选择标签。
下面有两组单选,第一组不用管,第二组一个表示不会创建额外的提交,第二个表示创建一个提交。
这里选择合并本地的develop分支,创建一个合并提交记录:
然后本地的文件就修改了,在“history”标签里面的记录成了这样:
如果不创建合并提交的话本地的master和develop就会是重合的。
接下来直接“push to upstream”即可。
在对话框中填写好需要的信息,然后选择“create and start push”,创建并推送标签,进入推送对话框:
然后一直下一步和结束就可以了。
等结束之后就可以在本地和远端的标签列表中个查看到了。:
分支也最好不要删除,即使该分支已经不需要了,那么也将其留在那里,以便将来使用。分支和标签的删除,本地直接右键选择删除就可以了,但是对远端的删除要麻烦一点。
在仓库记录上面右键->“remote”->"push"打开推送对话框,然后下一步,进入编辑推送任务的对话框:
要删除分支,在“delete”下拉选择需要删除的分支,然后“添加”将分支添加下面的任务列表,
与之前的推送分支比起来,前面的“update”变成了“delete”,然后提交即可。
标签的删除需要先添加所有的标签记录的任务,然后将目标明确修改为需要删除的标签 的名字,将前面的“update”修改为delete。
修改之后是这样的:
接下来就直接下一步和结束就可以了。
从删除标签的方式可以看出,标签是真的真的不推荐删除的。
到这里对于git的使用基本就差不多了,接下来是基于git的这些功能的maven的使用了。
有不对的地方欢迎大家留言指出来。
enjoy!!!
到目前为止我们都还是在一个名为master的分支里面做操作,而git的优势之一就是对分支的操作,在本文中就来说一说怎么搞分支和标签。
0、准备
接着上一篇文章来,继续使用那个工程。关于git中分支和标签的管理上的建议,大家可以参考这篇文章:Git分支管理策略 以及 一个成功的 Git 分支模型
当然,本文并不打算说怎么规划你的分支和标签,因为我自己也没有闹明白,本文只说怎么创建、合并、删除分支以及标签,关于规划方面的请根据自己的需要来,可以看一下那两篇文章。
1、分支的创建
当我们在git@osc创建一个项目的时候,勾选了初始化项目的话,是会创建一个有master分支的项目的,这也是之前创建项目的方式,此外还可以清空项目,然后推送本地已有的柜台仓库上去。但是这不是重点,重点是有了master,然后在此基础上创建分支,然后开发。在eclipse中创建分支,请在仓库视图中右键->"switch to"->"new branch",打开新建分支对话框:
在对话框中指定新建的分支基于什么,推送和拉取的配置,分支名是什么等:
新分支的基础默认是当前检出的分支,我们可以进行“选择”,可以在弹出框里面选择具体需要的,现在还没有创建标签,所以“tags”下面还是空的,以后有了标签,就可以基于标签创建分支了。名称可以按照自己的需要命名,只要符合命名要求就可以,不能重复这是必须的。推送和拉取的配置勾上就可以了。
一切就绪,“确定”之后就已经在新的分支上了。
可以看到,本地已经有了这个分支,但是远端上实际上还没有,因为我们还没有推送这个分支:
2、推送新建的分支
在上一步骤中新建了分支"develop",,接下来将其推送到远端上去。在那条仓库记录上面右键->“remote”->"push",打开推送对话框:
第一步是选择远端,也可以添加远端,以后有需要的可以配置,这里不需要管,直接下一步即可:
接下来就是选择推送的内容和类型了,有分支啊、标签啊,添加、更新、删除等等,这里将要推送的分支选上,然后添加进列表即可:
配置好之后就可以开始推送啦:
剩下的就是下一步和结束啦。
完成后可以在网页上和本地看到变化:
经过实际使用,发现一个问题,那就是在新分支上第一次推送提交的时候还是会叫推送这个分支,不知道为何。
3、分支合并
先在新分支上提交一次,让两个分支不一样。(和之前的提交一样)
合并分支要讲究“主动方”和“被动方”的,要将develop合并到master中,需要先切换到master,然后将develop合并进来。
先切换到master分支,在仓库记录上右键->"switch to"->"master"。
然后再右键->"merge":
在对话框中有一些合并的选项:
首先大框中有可以选择来进行合并的项目,远端和本地分别显示的,因为有时候本地和远端是不同步的,除了分支还可以选择标签。
下面有两组单选,第一组不用管,第二组一个表示不会创建额外的提交,第二个表示创建一个提交。
这里选择合并本地的develop分支,创建一个合并提交记录:
然后本地的文件就修改了,在“history”标签里面的记录成了这样:
如果不创建合并提交的话本地的master和develop就会是重合的。
接下来直接“push to upstream”即可。
4、创建并推送标签
在仓库记录里面的“tags”上面右键->"create tag"打开创建标签对话框:在对话框中填写好需要的信息,然后选择“create and start push”,创建并推送标签,进入推送对话框:
然后一直下一步和结束就可以了。
等结束之后就可以在本地和远端的标签列表中个查看到了。:
5、删除分支、标签
一般标签都不删除的,因为即使远端删除了,如果删除之前有人拉取了,那么在之后他的本地记录不会删除的,即使后面创建了一个相同的标签也不会被覆盖,那样就会造成不同步。所以最好的是创建标签之前就考虑好,如果确实需要更改也应该创建一个新的标签。分支也最好不要删除,即使该分支已经不需要了,那么也将其留在那里,以便将来使用。分支和标签的删除,本地直接右键选择删除就可以了,但是对远端的删除要麻烦一点。
在仓库记录上面右键->“remote”->"push"打开推送对话框,然后下一步,进入编辑推送任务的对话框:
要删除分支,在“delete”下拉选择需要删除的分支,然后“添加”将分支添加下面的任务列表,
与之前的推送分支比起来,前面的“update”变成了“delete”,然后提交即可。
标签的删除需要先添加所有的标签记录的任务,然后将目标明确修改为需要删除的标签 的名字,将前面的“update”修改为delete。
修改之后是这样的:
接下来就直接下一步和结束就可以了。
从删除标签的方式可以看出,标签是真的真的不推荐删除的。
6、小结
分支和标签怎么创建、管理、合并、删除等,是需要综合考虑的,需要不断的根据实际总结和调整。这里只是说明一个操作的方法而已。到这里对于git的使用基本就差不多了,接下来是基于git的这些功能的maven的使用了。
有不对的地方欢迎大家留言指出来。
enjoy!!!
相关文章推荐
- RPC failed; result=22, HTTP code = 411
- git更新已經刪除的文件
- 提取Git每次提交后Commit的文件
- GIT迁移服务器
- MyEclipse Web Project转Eclipse Dynamic Web Project
- Windows Clang开发环境备忘
- 分布式版本管理git入门指南使用资料汇总及文章推荐
- git终极指南:在实际开发中的应用
- 表格标签table深入了解
- WEB标准网页布局中尽量不要使用的HTML标签
- 如何使用jquery easyui创建标签组件
- web标准知识――用途相似的标签
- 傻瓜式用Eclipse连接MySQL数据库
- h1标签的使用技巧
- C# 分支与循环介绍
- 探讨JavaScript标签位置的存放与功能有无关系
- HTML代码中标签的全部属性 中文注释说明
- Bootstrap每天必学之标签与徽章
- jQuery EasyUI 布局之动态添加tabs标签页
- jQuery+CSS实现滑动的标签分栏切换效果