git分支合并操作.docx
《git分支合并操作.docx》由会员分享,可在线阅读,更多相关《git分支合并操作.docx(6页珍藏版)》请在冰豆网上搜索。
git分支合并操作
1、team-->switchto-->newbranch:
2、接下来,我们在自己的分支里面进行文章的更改:
3、提交已改动的内容到本地版本库
4、将改动push到分支
5、这个时候继续操作主干,为了模拟项目真实情况,我们在主干上进行修改,并进行多次提交跟更新;
6、这个时候假定分支任务已经完成,我们需要合并分支,首先将分支提交、push到分支之后,进行如下操作,切换到主干,这个时候里面就是我们切换分支时刻主干的状态;
7、开始分支合并操作,记清楚最后一次push分支的备注信息;
8、开始进行分支合并操作,先切换回主干(注意此时的主干是我们创建分支时候的主干,不是现在主干进行的情况),如下图所示:
9、将分支信息合并到主干,进行merge操作,选择local-->我最后一次提交的分支,点击merge即可。
10、这个时候通常情况下是没有错误的,接下来要进行一步操作,很危险,就是将最新版本的master给pull下来;
修改完冲突之后,进行提交,并推送到主干即可;
11、完成提交之后,我们可以将我们的分支删除。
登陆eclipse到其他地方选择一次clone,检查是否完成合并。
方式2
参见网址:
Eclipse中演示Git版本的创建,历史版本的修改,创建分支,合并历史版本和当前版本
1 执行以下案例:
某研发团队2011年初开发了一款名为Apollo的信息系统,目前已发布v1.0版本。
此项目初期已有部分基础代码,
研发团队再此基础代码上经过3个月的努力发布了一个功能相对完备的Apollo1.0版本进行销售。
由于销售业绩良好,因此研发团队正在着手v2.0版本的开发工作。
但就在这个时候,有客户发现v1.0软件系统一严重bug,如不及时修复将造成严重后果。
研发团队收到bug报告后立刻安排部分研发人员对v1.0版本进行修复,但其他研发人员则继续开发v2.0版本的新功能。
修复bug的研发人员很快扎到问题原因并对问题代码进行了修复,很快发布了v1.1版本发给了客户,因此没有造成重大损失。
Bug修复后研发人员将修复后的代码整合到研发主线中来,这样就可以保证今后发布的后续版本不会再出现此问题。
就这样研发团队在大家的共同努力下工作有条不紊的进行着
2 创建一个Apollo的仓库
3Eclipse连接到这个库
点击”Finish”
右击,导入工程:
然后在张三里面创建一个User.java
public class User{
private Stringname;
private int age;
public StringgetName(){
return name;
}
public void setName(Stringname){
this.name=name;
}
public int getAge(){
return age;
}
public void setAge(int age){
this.name=name;
}
}
接着CommitandPush
4 再克隆一个库,名称为李四(表示供李四使用)
然后importproject
点击下一步,出现以下错误:
上面的窗口说明有一个.project文件存在于”E:
\software\developer\lisi”.这时候解决办法是将lisi这个文件夹里面的.project文件删除,然后再“Back”一下,
删除上面的.project,点击back按钮之后再点击”Next”,发现:
然后点击”Finish”
5 接着在张三的基础上发布一个版本。
再次之前请先将张三这个版本中的内容commitandpush
接下来开始设置版本,也就是说创建Tag。
创建TagV1.0
点击CreateTag
这时候到Git视图,发现如下:
6 在lisi中,右击项目,先pull一下,这时候先在lisi中添加一个字段,这时候User.java中的代码如下:
public class User{
private Stringname;
private int age;
private Stringxiaosan;
public StringgetName(){
return name;
}
public void setName(Stringname){
this.name=name;
}
public int getAge(){
return age;
}
public void setAge(int age){
this.name=name;
}
public void setXiaoSan(Stringxiaosan){
this.xiaosan=xiaosan;
}
public String getXiaoSan(){
return xiaosan;
}
}
接着将lisiCommitandPush到远程服务器上:
要确保lisi的代码push了,要点击lisiCommitandPush:
接下来zhangsanpull下远程服务器上的代码:
7 接下来在zhangsan的基础上,转到pull之前的版本,也就是TagV1.0的版本上,进行修改。
这时候要将zhangsan切换到TagV1.0版本。
这时候要想修改TagV1.0版本的内容,需要在TagV1.0的版本的基础上创建一个分支,在这个分支的基础上修改代码。
创建分支的方法是:
注意,如果选中上面的”Checkoutnewbranch”后,这时候再次点击Finish之后,它会直接将V1.0这个分支切换到V1.0_fixup上,这时候发现项目右侧会显示v1.0_fixup,这时候发现项目的右侧会显示V1.0_fixup
再次进入Git视图,展开zhangsan—》Local,发现下面有两个分支了。
8 接下来,回到Java视图,在zhangsan的User.java中就可以在v1.0_fixup分支中开始修改这个TagV1.0版本
这时候再次查看zhangsan中的User.java如下:
修改User的内容:
接着CommitandPush项目:
这时候再次创建一个Tag版本,发布一个版本供用户使用。
右击项目:
9 这时候再到Git视图,展开zhangsan---》Tag发现列了另外一个Tag
这时候V1.1拿过来之后就可以发布给客户了。
Zhangsan从当前的Tag版本回来的方式:
右击项目
这时候User.java的内容如下:
整合几个版本,方式是:
点击Merge
这时候再看User.java,如下:
合并之后,右击项目CommitandPush,选择master
点击CommitandPush
这时候lisi这个用户再pull,查看到User.java的内容如下: