【Git】“分支” 如何管理和使用?这一篇就够了~

目录

一、什么是分支?

二、分支的操作

2.1、查看分支

2.2、创建分支

2.3、切换分支 和 修改分支

2.4、合并分支

2.4.1、正常合并

2.4.2、合并冲突

三、创建分支和切换分支的底层原理


一、什么是分支?

        在版本控制中,我们可以针对每个任务创建一个单独的分支,可以让我们的工作从主线上分离开,在开发自己的分支的同时,不会影响主线的分支运行;(分支的底层通过指针进行引用的)

例如下图:

解释: 

        红色框便是主线分支,其他分支的创建通过复制主线的任务,进行单独修改,再修改完成以后再合并到主线上;

好处:

        通过分支,可以同时并行开发多个功能,十分高效,并且每个分支互不影响,即使某一分支开发失败,也可以将其删除后重新开发;


二、分支的操作

2.1、查看分支

git branch -v

执行效果:

 

这里可以看出,当前只有这么一个主分支;

        如果当前这个主分支里面东西写错了,需要紧急修复怎么办?这时候就可以创建分支,来进行合并,怎么创建分支呢?往下看~

2.2、创建分支

git branch 分支名

例如我想创建一个名字为hot-fix这样一个分支:

接着查看分支:

解释: 

        1.创建好这样一个分支就意味着开辟了一个新的空间,并将主分支master上的数据都拷贝到了这个分支上;

        2.master 分支被 绿色标记 是因为当前所在分支为master;

2.3、切换分支 和 修改分支

语法如下:

//切换分支
git checkout 要切换到的分支名

先来看看当前分支是什么:

如果我们需要修改已经创建好的 hot-fix 分支上的内容,该如何操作?往下走

首先通过 git checkout 切换到hot-fix分支上:

        这个时候就可以通过vim来修改当前分支上的文件(这里我已经创建好一个test.txt文件)。修改完后,通过 git status 可以观察test.txt文件被标红,说明已经在工作区被修改,如下:

 

 这时候,如果你觉得这个分支修改的很好,那么你就可以通过 git add 添加到暂存区,最后通过 git commit 提交到本地库(注意,即使提交到本地库也不会影响到master分支),如下:

 解释:

        HEDA -> 这里指向hot-fix,以及后面的代码,表示当前在hot-fix分支下,提交到本地库了一个名为"hot-fix first commit"这样一个任务;

切换回master分支,再查看test.txt文件就会发现,文件的内容并没有被修改,那怎么做才能合并到master分支呢?往下看~

2.4、合并分支

git merge 要合并的分支名

通过这个操作,就可以将想要合并的分支合并到当前分支上~

2.4.1、正常合并

例如,将hot-fix分支合并到master分支上,那么你就需要先切换到master分支上,再如输入指令,如下:

        为什么能正常合并呢?这是因为你在创建hot-fix分支以后,没有对master分支进行修改,若进行修改,并提交到本地库,则会冲突合并(下面会讲到);

2.4.2、合并冲突

怎么产生合并冲突?

        经过上面的操作后,此时master分支和hot-fix分支的内容是一样的,这个时候,如果对master分支中的test.txt进行修改,并提交本地库,接着切换分支到hot-fix,对文件test.txt进行修改,并提交本地库,最后切换分支到master,合并hot-fix分支,这个时候就会产生冲突如下:

 通过查看本地库状态可以看到如下:

如何解决冲突?         

        这里就显示有两个分支待修改,主机自然就不知道你要保存哪一个;所以想要她两合并,你需要手动修改,通过vim修改成最后你需要保存的数据,修改完后,提交到本地库即可;注意!提交的时候不能带文件名,否则会报错,如下:


三、创建分支和切换分支的底层原理

原本只有一条master分支:

现在又创建了一个hot-fix分支,并且还是从third的下创建的分支,并对该分支进行了修改:

这时,想要从master分支上切换到hot-fix分支上,本质就是修改head指针的指向:

 解释:

        master 和 hot-fix 都是指向具体版本记录的指针;当前所在分支是由HEAD决定的(HEAD指向哪一个分支,当前就在哪一个分支上),所以创建分支本质上就是创建指针;


  • 4
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论
以下是一篇git使用教程: Git使用教程 Git是一种分布式版本控制系统,用以管理计算机源代码的更改。以下是几个简单的Git命令,它们将帮助你开始使用Git: ## 1. 安装Git 如果你还没有安装Git,请首先安装GitGit可以从其官方网站上下载。 ## 2. 设置用户名和邮箱 每次你提交代码时,Git都会使用你提供的用户名和邮箱地址。 ``` git config --global user.name "Your Name" git config --global user.email "youremail@yourdomain.com" ``` ## 3. 创建一个新的本地存储库 创建一个新本地存储库的命令是: ``` git init ``` ## 4. 向本地存储库中添加文件 要向本地存储库中添加文件,使用以下命令: ``` git add filename ``` ## 5. 提交更改 使用以下命令将文件提交到本地存储库: ``` git commit -m "提交描述信息" ``` ## 6. 查看提交历史记录 以列出先前提交到本地存储库的所有更改: ``` git log ``` ## 7. 创建一个分支 要在项目中创建一个分支,请使用以下命令: ``` git branch new_branch_name ``` ## 8. 切换到一个分支 切换到一个分支的命令是: ``` git checkout branch_name ``` ## 9. 合并分支 要将分支合并到当前分支,请使用以下命令: ``` git merge branch_name ``` ## 10. 将本地分支推送到Git服务器 使用以下命令将本地分支推送到Git服务器: ``` git push origin local_branch_name:remote_branch_name ``` 这些是Git的基础知识和命令。掌握这些命令可以让你更好地了解Git,从而更好地管理你的代码。更多关于Git的资料可以在Git官方网站上找到。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

陈亦康

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值