Git分支的定义和操作

1.Git分支的定义

当你开发项目的时候,需要不同的版本,如果不想一直在一个项目里边做修改,这时候就可以使用分支。在不同分支上边 开发可以相互不影响,需要的时候可以切换到不同的分支进行工作。同个小组不同的成员可以在不同的分支针对不同的功能进行开发,需要时进行分支合并即可。

2.Git分支的基本操作

2.1 分支的新建与合并
首先创建一个名为test的分支并切换到该分支:

$ git branch test
$ git checkout test

实现上述要求还有另外一种形式:

$ git checkout -b test

然后,我们可以查看当前所在分支:git branch,前面带*的为当前所在分支。接下来切换回master分支并将test合并:

$ git checkout master
$ git merge test

最后,两个分支已经合并成功,将test分支删除:

$ git checkout -d test

2.2 遇到冲突时的分支合并
有时候合并操作并不会如此顺利。如果在不同的分支中都修改了同一个文件的同一部分,Git 就无法干净地把两者合到一起(译注:逻辑上说,这种问题只能由人来裁决)。例如:如果你在开发的过程中同时在两个分支修改了同个版本的a文件,将得到类似下面的结果:

$ git merge test
    Auto-merging a
    CONFLICT (content): Merge conflict in a
    Automatic merge failed; fix conflicts and then commit the result.

Git 作了合并,但没有提交,它会停下来等你解决冲突。要看看哪些文件在合并时发生冲突,可以用 git status 查阅:

[master*]$ git status
    a: needs merge
    # On branch master
    # Changes not staged for commit:
    # (use "git add <file>..." to update what will be committed)
    # (use "git checkout -- <file>..." to discard changes in working directory)
    #
    # unmerged: a
    #

任何包含未解决冲突的文件都会以未合并(unmerged)的状态列出。Git 会在有冲突的文件里加入标准的冲突解决标记,可以通过它们来手工定位并解决这些冲突。可以看到此文件包含类似下面这样的部分:

<<<<<<< HEAD:index.html
    “在分支test上的修改”
    =======
    “在分支master上的修改”
    >>>>>>> a

接下来,我们只要通过文本编辑器将冲突内容修改,修改完毕后重新提交即可。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值