git进阶之分支的简单用途

git进阶一 (分支)


为什么要创建安分支?
比如我们开发完了一个app上线了,接下那就是迭代功能开发了,如果上线的app出现了一个严重的bug,要你放下手头新功能的开发去解决这个bug,然后在发布一个新版本,如果你要是就在你要迭代功能的项目上进行修改发布的话,那肯定是不行的,且先不谈有没有新的bug出现,时间是也是不允许的,发布的前提还要把新功能完善好才行,要是删掉新功能的代码也不怎么现实,要是业务逻辑少一点还好说,要是多的话那还真是有点无从下手了,所以git的分支就很好的解决了这个问题; 如下图:
master 就是我们的主代码,一直优化,到v1.4版本发布了,然后接着往下开发v2.0,v2.1版本,但是v1.4版本出现了一个严重的bug,这时候我们就在这个v1.4版本创建一个分支developer来对bug进行修复,到了v1.6版本bug修复好发布出去,然后在跟原来的master主代码进行合并一下把代码添加到v2.1版本就OK了,剩下就接着迭代开发了;

分支的创建

首先跟上一篇文章一样,我先创建一个项目,cd…(根目录)进行git提交:
git init
git add .
git commit -m “第一次提交”
要是不确定是否提交成功可以看一下提交记录
git log

我们在项目上加3句代码 没添加一句 提交一次
@Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        System.out.println("第一次添加数据");
        System.out.println("第二次添加数据");
        System.out.println("第三次添加数据");
    }

git log 查看一下提交记录

如果提交记录过多 出现了如下图所示:

我们只需要按下Q就可以了;

通过上面我们可以看到 代码已经提交4次了,
打比方,如果第三次提交的代码出现了严重的bug需要修复,那么我们就在第三次提交的那个版本创建一个进行修复
首先我们要切换到第三次提交的版本上
git checkout 45b8f69dc83f59860a07855f8962dafbadf5b0c7

红色箭头部分为 git log 查看提交commit后面的参数
切换成功了
右边会显示出 当前版本的commit 参数

切换成功以后接下来就创建分支了
git branch developer(分支名称)
查询是否创建成功
git branch
*号代表当前代码所对应的分支
developer出现了 说明创建成功了
接下来我们切换到developer分支上进行代码修复了
git checkout developer
在看下我们的代码
 @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        System.out.println("第一次添加数据");
        System.out.println("第二次添加数据");
    }
现在我在这个代码里面添加一个方法
public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        System.out.println("第一次添加数据");
        System.out.println("第二次添加数据");
        initData();
    }

    private void initData() {
        System.out.println("我是developer分支的方法");
    }
}
进行提交
git add .
git commit -m “developer分支的第一次提交”
git log 确定一下是否提交成功

如果这个分支把bug修复好了那么就可以跟主分支进行合并了
我们先切换到主分支
git checkout master
然后在进行合并
git merge developer

如果出现了上图情况 说明出先了代码冲突,我们看一下代码
public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        System.out.println(“第一次添加数据”);
        System.out.println(“第二次添加数据”);
<<<<<<< HEAD




System.out.println(“第三次添加数据”); ======= initData(); } private void initData() { System.out.println(“我是developer分支的方法”); >>>>>>> developer } }
代码出现了
<<<<<<< HEAD 
 
 
=======
>>>>>>> developer
这三个符号
 
 

======号表示分割线
======号到<<<<<号之间表示当前分支内容
======号到>>>>>号之间表示分支合并进来的内容
接下来我们就要自己手动整合到一起了,把不需要的删除就好了
public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        System.out.println("第一次添加数据");
        System.out.println("第二次添加数据");
        System.out.println("第三次添加数据");

        initData();
    }

    private void initData() {
        System.out.println("我是developer分支的方法");
    }
}
更改完成以后 git add .
将他们暂存起来
在运行
git status
看一看冲突是否都解决了

解决完成以后就可以提交了
git commit -m “跟developer分支合并完成提交”

要是以后不打算在使用这个分支了,接下来就可以把这个分支删除
git branch -D developer
在查看一下确认一下是否删除成功
git branch

转自:https://blog.csdn.net/flyinbed_/article/details/53908443

猜你喜欢

转载自blog.csdn.net/m0_37885651/article/details/80047833