Git的杀手锏是带来了轻量级分支,假设你运用svn分支,就会被Git新建分支和切换分支时的速度所震惊。

操作分支在Git中非常高频,学好分支操作是学好Git的基础,但在实际工作中,测验你的自卑程度我发现许多同学并不了解Git的难破mg5分支操作,本文试图经过图github中文社区解的方法,解说开源矿工常用分支操作指令,和指令背后的Git分支模型。

主分支

在Git中新建一个项目后,默许有一个分支,即主分支。主分支一般表示项目的难破mg开源阅读app下载安装5日剧安稳版别,主分支应该包含安稳没有 Bug 的代码,并坚持难破mg5随时可以发布的情况,关于小型项shell脚本编程100例目来说,只需一个主分支就够用了,每次咱们提交都会创建一个commigithub汤姆t节点。

$ git commit -m "c1"
$ git commit -m "c2"
$ git commit -m "c3"

上面的指令会创建三个commit节点,此时master分github直播平台永久回家支如下图所示:

图解Git分支和指令

主分支上应该测试用例只包吞并提交,一切的迭代应该都在分男配每天都在体内成绩支上进行,假设是简略的改动,直接在主分支批改也是可以的,假设功用较凌开源软件乱,且需求屡开源众包次提交,不建议在主分支直接批改。

功用分支

当有新的功用要开发时,应该新建一shell指令个功用分支,指令如下:github永久回家地址

$ gitcheckout -b feature/a

接下来在分支上创建两个提交,指令如下:

$ git commit -m "c4"
$ git commit -m "c5"

此时提交树如下图所示:

图解Git分支和指令

当功用分支开发完成后男配每天都在体内成绩,需求吞并回主分支,吞并回主分支有两种选择,快速吞并和非shell翻译快速吞并,二者的区别在于是否创建提交节点,指令如下:

$ gitmerge feature/a # 快速吞并
$ gitmerge --no-ff feature/a # 非快速吞并

快速吞并的成果,会测试你的自卑程度直接将 magithub下载ster 指向了 feature/a,如下图所示:

图解Git分支和指令

非快速吞并的成果,会在 master 创建吞并提交节点,如下图所示测试手机是否被监控

图解Git分支和指令

两种吞并方法都可以,假github直播平台永久回家设选择快速吞并,需求保证每个提交都是独立且完好的,假设不满足要求,Git 支撑批改提交前史,女配每天都在抱大腿我要成仙需求批改后再次开源软件github中文官网网页吞并。

批改前史可以运用 rebase 指令,下面的指令可以批改最近三个github中文官网网页提交,将第二个提交的 pick 改为 squash,可以吞并第一个和第github是什么二个提交,将第三个提交的 pick 改为 edit,可以批改第三个提交的提交信开源息。

$ gitrebase -i HEAD~3
pickd24b753 feat: update ci
squashf56ef2f feat: up ci
edit6c91961 feat: up
# Rebase 50ece5c..6c91961 onto 50ece5c (3 commands)
# Commands:
# p, pick <commit> = use commit
# r, reword <commit> = use commit, but edit the commit message
# e, edit <commit> = use commit, but stop for amending
# s, squash <commit> = use commit, but meld into previous commit
# f, fixup <commit> = like "squash", but discard this commit's log message
# x, exec <command> = run command (the rest of the line) using shell
# b, break = stop here (continue rebase later with 'git rebase --continue')
# d, drop <commit> = remove commit

在创建当时分支之后,主分支或许又有新的提交,如开源软件下图所示:

图解Git分支和指令

在吞并之前,建议先将主分支新的提交吞并到当时分支,有两shell什么意思种战略可以选择,吞并和变基,吞并操作更简略,变基测验操作提交树更明晰,建议运用变测验抑郁症的20道题基的测试用例方法。

先来看下吞并操作的进程,指令如下:

$ gitmerge master
$ gitcheckout master
$ gitmerge feature/a

吞并操作开源阅览后的提开源交树如下图所示github官网

图解Git分支和指令

变基会批改feature/a的前史,就像 fegithub直播平台永久回家ature/a 是在 master 之后开发的相同,变基指令shell是什么意思中文如下:

$ gitrebase master
$ gitcheckout master
$ gitmerge feature/a

变基操作后的提交树如下图男配每天都在体内成绩所示,虚线的提交是feature/a变基之前的情况,在变基后,虚线开源节流是什么意思的提交不再有分支指向,但github下载并不会删去,而是变成Git中的游离节点,在Git履行GC(废物收拾)操作后,节点才会彻底删去。

图解Git分支和指令

缺点开源节流分支

假设发现存在 Bug,要赶快shellfish批改,此时可以根据主分支新建缺点分支,指令如下:

$ gitcheckout -b bugfix/b

当验证没问题后,缺点分支需求吞并回主分支,并在主分支上发布新的补丁版别,指令shell命令如下:

$ gitcheckout master
$ gitmerge --no-ff bugfix/b
# 测验 构建 打标签 发布到npm

主分支更新后,下测验抑郁症的20道题游的公测验抑郁程度的问卷共分支女配每天都在抱大腿我要成仙要及时同步变更,建议运用变基进行同步,指令如下:

$ gitcheckout feature/a
$ gitrebase master

缺点分支模型如下图所示,bugfix/b女配满眼都是钱 分支吞并到 master 后,feature/a 分支进行了变基操作。

图解Git分支和指令

标签与前史

每次发github是什么布新版难破mg5别时都要打标签,版别号需求契合第四章介绍的语义化版别规范,一般功用分支github开放私库发布次版别号,缺点分支发布修订版别号,运用Git添加tag的指令如下所示:

# 假定当时版别是 1.1.0
$ gittag 1.1.1 # 批改次版别号
$ gittag 1.2.0 # 批改主版别

Git 的版别号,还可以添加 v 前缀,两种风格都可以,建议在一个项目里边坚持统一,添加v前缀的版别示例如下:

# 假定当时版别是 v1.1.0
$ gittag v1.1.1 *# 批改次版别号
$ gittag v1.2.0 *# 批改主版别号

添加标签后,提交树示例如下图所shell什么意思示。

图解Git分支和指令

shell编程在假定最新版别是 v1.2.0 了,突然用户github开放私库反馈了 v1.0.0 版别存在 bug,假设是比较小的问题,一般咱们会建议用户升测验你适合学心理学吗级到最新NPM版别 ,但假设用户不能升级怎么办,比如 1.x 到 2.x 存在大版别改动。

出于各种原因,存在需求维护前史版其他需求,关于还有用户运用需求的前史版别,需求供应 bug 批改的支撑github直播平台永久回家

此时创建的标签就起作用了,可以根据标签新建一个版别分支,并在版别分支上批改 bug,且github永github是什么久回家地址发布新的版别,前史版别分支,不需求再次吞并回主干分支测试抑郁症的20道题,创建标签分支的示例如下:

$ gitcheckout -b v1.0.x v1.0.0

此时前shelly史分支的示例测验用例如下图所示。

图解Git分支和指令

总结

开源阅读app下载安装文介绍了Git常见的开源代码网站github分支指令和分支模型,希望可以协助大家更好的掌握Git原理,假设你觉得本文对你有协助,那就点赞加剧视作者吧,假设对本文有任github下载何疑问,欢迎女配没有求生欲藤萝为枝在评论区shell编程沟通。

别的,作者在女配没有求生欲txtgithub中文社区宝书网Gi开源阅览app下载安装tHub上维护了许多不错的开源项目,欢迎围观:github.com/yanhaijing

我正在参与技能社区创作者签约方案招募活动,点击链接报名测试抑郁症投稿。