分支管理

目录

创建分支

切换分支

合并分支

删除分支

合并冲突


创建分支

git branch [分支]指令

创建新的分⽀后,Git 新建了⼀个指针叫dev, * 表⽰当前 HEAD 指向的分⽀是 master 分⽀。另外,可以通过⽬录结构发现,新的 dev 分⽀:
[paper@VM-16-16-centos ~]$ git branch dev
[paper@VM-16-16-centos ~]$ git branch
  dev
* master

切换分支

git checkout [分支]指令

[paper@VM-16-16-centos ~]$ git branch
  dev
* master
[paper@VM-16-16-centos ~]$ git checkout dev
Switched to branch 'dev'
[paper@VM-16-16-centos ~]$ git branch
* dev
  master

合并分支

master和dev指向的不一样

[paper@VM-16-16-centos ~]$ git checkout dev
Switched to branch 'dev'
[paper@VM-16-16-centos ~]$ vim file
[paper@VM-16-16-centos ~]$ git add file
[paper@VM-16-16-centos ~]$ git commit -m "file"
[dev 04534e7] file
 1 file changed, 1 insertion(+)
[paper@VM-16-16-centos ~]$ cat file
hello world
hello git
[paper@VM-16-16-centos ~]$ git checkout master
Switched to branch 'master'
[paper@VM-16-16-centos ~]$ cat file
hello world

此时需要切换至mater分支,使用git merge [分支]指令,合并dev和master分支

[paper@VM-16-16-centos ~]$ cat file
hello world
[paper@VM-16-16-centos ~]$ git merge dev
Updating da0ae2d..04534e7
Fast-forward
 file | 1 +
 1 file changed, 1 insertion(+)
[paper@VM-16-16-centos ~]$ cat file
hello world
hello git

删除分支

合并完成后, dev 分⽀对于我们来说就没⽤了, 那么dev分⽀就可以被删除掉,注意如果当前正处于某分⽀下,就不能删除当前分⽀

[paper@VM-16-16-centos ~]$ git branch
  dev
* master
[paper@VM-16-16-centos ~]$ git branch -d dev
Deleted branch dev (was 04534e7).
[paper@VM-16-16-centos ~]$ git branch
* master

合并冲突

在实际分⽀合并的时候,并不是想合并就能合并成功的,有时候可能会遇到代码冲突的问题。为了演⽰这问题,创建⼀个新的分⽀ dev1 ,并切换⾄⽬标分⽀,我们可以使⽤ git checkout - b dev1 ⼀步完成创建并切换的动作,⽰例如下:
[paper@VM-16-16-centos ~]$ git checkout master
D	file1
Switched to branch 'master'
[paper@VM-16-16-centos ~]$ cat file
hello git
[paper@VM-16-16-centos ~]$ git branch
  dev
* master
[paper@VM-16-16-centos ~]$ git checkout dev
D	file1
Switched to branch 'dev'
[paper@VM-16-16-centos ~]$ git branch
* dev
  master
[paper@VM-16-16-centos ~]$ cat file
hello world

发现file⽂件有冲突后,可以直接查看⽂件内容,要说的是 Git 会⽤ <<<<<<<,=======,
>>>>>>> 来标记出不同分⽀的冲突内容,如下所⽰:
[paper@VM-16-16-centos ~]$ git merge dev
Auto-merging file
CONFLICT (add/add): Merge conflict in file
Automatic merge failed; fix conflicts and then commit the result.
[paper@VM-16-16-centos ~]$ cat file
<<<<<<< HEAD
hello git
=======
hello world
>>>>>>> dev
此时我们必须要⼿动调整冲突代码,并需要再次提交修正后的结果!!
[paper@VM-16-16-centos ~]$ vim file
[paper@VM-16-16-centos ~]$ git add file
[paper@VM-16-16-centos ~]$ git commit -m "file"
[master c3de9f5] file
[paper@VM-16-16-centos ~]$ cat file
hello world

  • 7
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值