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

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

ruisui884个月前 (02-03)技术分析16


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

分享给朋友:

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

「 VUE3 + TS + Vite 」父子组件间如何通信?

组件之间传值,大家都很熟悉,涉及到 VUE3 +TS 好多同学就无从下手了,所以分享这篇文章,希望看完后提起 VUE3+TS 能够不慌不忙。平时使用的函数如:ref、reactive、watch、computed 等需要先引入才能使用,但是本篇文章介绍的 defineProps、withDefaul...

Gitlab之间进行同步备份

目前,我们公司有两个研发团队,分别在北京和武汉,考虑到访问速度的问题,原有武汉的研发环境在近端部署。也就是北京和武汉分别有两套独立的研发管理环境,虽然这解决了近端访问速度的问题,但是管理上较为分散,比如研发环境备份和恢复就是最重要的问题之一。最近,处于对安全性和合规性的考虑,希望将北京和武汉的源代码...

Python 幕后:Python导入import的工作原理

更多互联网精彩资讯、工作效率提升关注【飞鱼在浪屿】(日更新)Python 最容易被误解的方面其中之一是import。Python 导入系统不仅看起来很复杂。因此,即使文档非常好,它也不能让您全面了解正在发生的事情。唯一方法是研究 Python 执行 import 语句时幕后发生的事情。注意:在这篇文...

三勾知识付费(PHP+vue3)微信小程序平台+SAAS+前后端源码

项目介绍三勾小程序商城基于thinkphp8+element-plus+uniapp打造的面向开发的小程序商城,方便二次开发或直接使用,可发布到多端,包括微信小程序、微信公众号、QQ小程序、支付宝小程序、字节跳动小程序、百度小程序、android端、ios端。软件架构后端:thinkphp8 管理端...

Firefox正针对Vue.js进行优化,下版本响应速度将“显著提升”

IT之家 9 月 7 日消息,据 Mozilla 官方博客发文显示,Firefox 浏览器正针对 Vue.js 进行优化,此前 FireFox 浏览器在面向 Vue 3 时遇到了一些性能问题。▲ 图源 Mozilla 官方博客目前开发人员已经对此进行了解决,在 Firefox 118 内部版本中进行...

什么是异步,什么是同步,啥意思?

概述:本文讨论了程序设计领域的同步、异步和多线程的一些基本概念。同步异步这两个词翻译的其实不通。我是不知道这两个词是啥意思。同步:步伐整齐;异步:步伐不整齐。大概这个意思,但是在编程设计领域啥意思?国人的烦恼多来自于不明确的翻译所造成的后果。异步对应的英文是Asynchronous。这个词的含义是“...