当前位置:首页 > 技术分析 > 正文内容

创建一个本地分支(如何建立一个本地接口)

ruisui883个月前 (02-03)技术分析10


git branch 分支名
复制代码

通过git branch 命令就可以快速创建一个本地分支,这个分支会基于当前提交对象创建一个指针。而这个命令只会创建一个分支,并不会自动切换到新分支中,本例中我们是处于master分支中。

HEAD相当于一个标识,用来指向当前所在的分支

分支切换

要想切换分支,就需要使用gIt checkout命令

//切换分支
% git checkout testing

//查看分支
% git branch -a
  master
* testing
复制代码

此时HEAD就指向testing分支了

当我们针对master分支和testing分支分别做修改,看看分支份分叉会变成什么样

可以看到两个分支从一开始的位置走上了不同的道路

合并分支

假如testing分支是你同事的分支,现在需要合到master分支然后push到远程分支,那就需要使用merge命令进行合并

% git merge testing ?
复制代码

此命令会将testing分支合并到当前分支中,我目前的分支是master,合并后两个分支的代码就到一起了,后续就可以基于master进行push或者继续提交代码。

合并后如果你不想要testing分支,可以将该分支进行删除

删除分支

git branch -d testing
复制代码

分支冲突时如何合并

假如你有两个分支都对同一个文件进行了修改,当你将其中一个分支合并到另一个分支就会出现冲突

 % git merge testing
Auto-merging test.md
CONFLICT (content): Merge conflict in test.md
复制代码

因为testing分支和master分支都对test.md文件做了修改,当将testing分支合并到master分支时就会出现冲突

任何因包含合并冲突而有待解决的文件,都会以未合并状态标识出来。 Git 会在有冲突的文件中加入标准的冲突解决标记,这样你可以打开这些包含冲突的文件然后手动解决冲突。 出现冲突的文件会包含一些特殊区段,看起来像下面这个样子:

sssssTEST
<<<<<<< HEAD
ssss
ssssssssasasa
=======
?
sss
ssssss
>>>>>>> testing
?
复制代码

这表示 HEAD 所指示的版本(也就是你的 master 分支所在的位置,因为你在运行 merge 命令的时候已经检出到了这个分支)在这个区段的上半部分(======= 的上半部分),而 testing 分支所指示的版本在 ======= 的下半部分。 为了解决冲突,你必须选择使用由 ======= 分割的两部分中的一个,或者你也可以自行合并这些内容。 例如,你可以通过把这段内容换成下面的样子来解决冲突:

sssssTEST
ssss
ssssssssasasa
ssssss
复制代码

在你解决了所有文件里的冲突之后,对每个文件使用 git add 命令来将其标记为冲突已解决。 一旦暂存这些原本有冲突的文件,Git 就会将它们标记为冲突已解决。

分支的管理

查看所有分支

 % git branch
* master
  test
?
复制代码

会显示出所有分支,*号代表现在检出的那一个分支(也就是说,当前 HEAD 指针所指向的分支)。

查看每一个分支最后提交

% git branch -v
* master bc5b518 [ahead 5] sss
  test ? 1be830c ss
复制代码

查看所有本地分支对应跟踪的远程分支

 % git branch -vv ? ? ? ? ? ? 
  master d230c50 [origin/master: ahead 6] ss
* test ? 1be830c ss
复制代码

此时可以看到,master对应的远程分支是origin/master,test还没有和远程分支建立关联

设置已有的本地分支跟踪一个远程分支

% git branch -u origin/master
?
% git branch -vv ? ? ? ? ? ? 
  master d230c50 [origin/master: ahead 6] ss
* test ? 1be830c [origin/master] ss
?
复制代码

该命令会将当前所使用的本地分支与一个远程分支建立映射关系,当然此命令也可以作为修改对应的远程分支

删除远程分支

% git push origin --delete 远程分支名
复制代码

扫描二维码推送至手机访问。

版权声明:本文由ruisui88发布,如需转载请注明出处。

本文链接:http://www.ruisui88.com/post/1257.html

分享给朋友:

“创建一个本地分支(如何建立一个本地接口)” 的相关文章

「云原生」Containerd ctr,crictl 和 nerdctl 命令介绍与实战操作

一、概述作为接替Docker运行时的Containerd在早在Kubernetes1.7时就能直接与Kubelet集成使用,只是大部分时候我们因熟悉Docker,在部署集群时采用了默认的dockershim。在V1.24起的版本的kubelet就彻底移除了dockershim,改为默认使用Conta...

基于 vue3.0 小程序拖拽定制

今天给大家分享一个使用Vue3编写的自由DIY小程序页面。mbDIY 一款基于vue3.x构建的可拖拽定制小程序模板。支持新建页面、自由拖拽模块、复制/移动、自定义模块样式等功能。整个项目分为页面、模块、控件三大部分。模块里面的组件可拖拽至主面板区,编辑后保存即可预览效果。快速安装# 克隆项目 gi...

vue开发微信小程序 - 登录组件

移动端登录功能抽象为通用组件,满足:不同移动端应用中一键登录功能复用支持多种登录:微信登录、H5、QQ登录登录组件使用//引用登录组件 import login from "../components/user/login.vue" export default { compone...

三勾点餐系统java+springboot+vue3,开源系统小程序点餐系统

项目简述前台实现:用户浏览菜单、菜品分类筛选、查看菜品详情、菜品多属性、菜品加料、添加购物车、购物车结算、个人订单查询、门店自提、外卖配送、菜品打包等。后台实现:菜品管理、订单管理、会员管理、系统管理、权限管理等。 项目介绍三勾点餐系统基于java+springboot+element-plus+u...

SpringCloudalibaba+Vue开发仿社交小程序-青牛白马七香车

Spring Cloud Alibaba和Vue是当今开发领域中最为流行的技术组合之一。本文将介绍如何使用Spring Cloud Alibaba和Vue开发仿社交小程序。download: https://www.97yrbl.com/t-1632.html项目概述本项目是一个仿社交小程序,包括用...

企业微信自建应用和消息发送配置对接系统指南

本文介绍企业微信应用创建、消息提醒、自动回复、自定义菜单和服务端接口对接过程。企业微信登录:https://work.weixin.qq.com/企业微信接口对接,应用授权和发送消息代码:https://www.easywechat.com/docs/5.x/wework/oauth一、创建自建应用...