当前位置: 首页 > wzjs >正文

竞价单页系统温州网站建设优化

竞价单页系统,温州网站建设优化,门户网站有,哈尔滨seo优化软件文章目录 1. 理解分支2. 创建分支2.1 git branch 查看/创建分支命令2.2 新建分支操作 3. 切换分支3.1 git checkout 切换命令3.2 切换分支操作 4. 合并分支4.1 git merge 合并分支命令4.2 合并类型1)快速合并(Fast-Forward Merge)2&#xff0…

文章目录

  • 1. 理解分支
  • 2. 创建分支
    • 2.1 git branch 查看/创建分支命令
    • 2.2 新建分支操作
  • 3. 切换分支
    • 3.1 git checkout 切换命令
    • 3.2 切换分支操作
  • 4. 合并分支
    • 4.1 git merge 合并分支命令
    • 4.2 合并类型
      • 1)快速合并(Fast-Forward Merge)
      • 2) 三路合并(Three-Way Merge)
    • 4.3 合并分支操作
    • 4.4 合并冲突
    • 4.5 分支管理策略
  • 5. 删除分支/临时分支
    • 5.1 删除分支
    • 5.2 删除临时分支
  • 6. 分支策略
  • 7. bug分支
    • 7.1 git stash 储存工作区信息命令
    • 7.2 bug解决流程

1. 理解分支

在版本回退里,我们知道,每次提交Git都把它们串成一条时间线,这条时间线就可以理解为是一个分支。截止到目前,只有一条时间线,在Git里,这个分支叫主分支,即 master 分支。

再来理解一下HEAD,HEAD 严格来说不是指向提交,而是指向master,master才是指向提交的,所以,HEAD 指向的就是当前分支。

每次提交,master分支都会向前移动一步,随着你不断提交,master分支的线也越来越长,而HEAD只要一直指向master分支即可指向当前分支,HEAD可以指向其他分支,被执行的分支就是当前工作的分支。

他们的流程大致如下:

流程

2. 创建分支

2.1 git branch 查看/创建分支命令

该命令有2中作用:

1)列出所有分支,列出本地仓库中所有分支, *代表当前所在分支

2)创建新分支,但不会马上切换到该分支

3)删除分支 -d 选项,不能在当前分支删除当前分支

4)强行删除分支 -D 选项,不能在当前分支删除当前分支

git bransh  # 列出分支
git bransh [branch]  #创建分支
git bransh -d [branch]  #删除分支
git bransh -D [branch]  #强行删除分支

2.2 新建分支操作

直接使用 git branch dev 命令创建分支,再次用 git bransh 查看就可以看到新建分支以及当前所在分支,此时查看 .git 文件就可以看到refs/heads 中多出一个dev。

创建1

分支创建

示意图1

3. 切换分支

3.1 git checkout 切换命令

该命令除了之前的恢复文件到特定版本外,还可以进行切换分支,-b选项可以直接创建并切换到新创建的分支

git checkout [-b] [branch]

3.2 切换分支操作

直接使用 git checkout dev 命令就可以成功切换到dev分支了

操作

切换

4. 合并分支

4.1 git merge 合并分支命令

核心功能是将一个分支更改合并到当前分支,并将两个分支提交历史和修改内容更改合并到一起, --no-ff 选项表示禁用Fast forward模式,-m 可以在合并时带上自定义信息

git merge [branch]  # 合并分支
git merge --no-ff -m "message" [branch]  # 禁用Fast forward模式合并分支

4.2 合并类型

1)快速合并(Fast-Forward Merge)

如果目标分支是源分支的直接祖先(即源分支的提交历史完全包含目标分支的提交历史),Git 会执行快进合并。在这种情况下,Git 会直接将目标分支的指针移动到源分支的最新提交,不会生成新的合并提交。

2) 三路合并(Three-Way Merge)

如果目标分支和源分支的提交历史有分歧(即它们各自有独立的提交),Git 会执行三路合并。在这种情况下,Git 会找到两个分支的最近共同祖先(common ancestor),然后尝试将源分支的更改合并到目标分支,生成一个新的合并提交。

4.3 合并分支操作

在新建分支上写入文件并完成提交,然后切换到master分支就可以进行合并操作,之后输入 git merge dev 就可以完成分支的合并

因为是快速合并,所以dev和master都会指向最新一次提交

合并fast

流程3

4.4 合并冲突

如果在不同分支上修改了同一个文件,那么就可能会存在冲突,此时git是没有办法知道哪些代码该去该留的,所以就会产生合并冲突

同时在dev1和master上修改test第三行,然后合并,就会发生冲突,此时要手动解决问题并再次添加提交,进入test可以看到3-7行就是冲突代码,需要对其进行取舍

冲突

冲突代码

修改完成后,要进行添加并提交,此时master会指向最新一次提交,而dev还会停留在之前修改的提交位置,此时可以打印验证,如图片所示,和预期一致

验证

合并2

打印分支线可视图:

使用log的 --graph 选项可视图 ,–abbrev-commit选项是显示简化的提交哈希值

git log --graph --abbrev-commit

可视图打印

4.5 分支管理策略

在这种Fast forward 模式下,删除分支后,查看分支历史时,会丢掉分支信息。为了能够溯源,偏向于合并冲突所带来的能够看到分支信息的方式。

首先创建分支,添加提交一行,然后返回master后使用 git merge --no-ff -m “merge dev2” dev2 进行合并,这时用 git log --graph --abbrev-commit 就可以看到提交的信息了

合并分支策略

5. 删除分支/临时分支

5.1 删除分支

合并完成后, dev 分支对于我们来说就没用了, 那么dev分支就可以被删除掉,注意不能在当前分支下删除当前分支。在当前master分支下使用 git bransh -d dev 就可以删除dev分支了

删除分支

5.2 删除临时分支

软件开发中,总有无穷无尽的新的功能要不断添加进来。
添加一个新功能时,最好新建一个分支,我们可以将其称之为 dev3 分支。如果正在 dev3 分支上开发了一半,被产品经理突然叫停,此时这个分支还是必须就地销毁,留着无用了。这时使用传统的git branch -d 命令删除分支的方法是不行的,必须要用 git bransh -D [branch] 强行删除分支。

强制删除

6. 分支策略

在实际开发中,我们应该按照几个基本原则进行分支管理:
首先,master分支应该是非常稳定的,也就是仅用来发布新版本,平时不能在上面干活;干活都在dev分支上,也就是说,dev分支是不稳定的,到某个时候,比如1.0版本发布时,再把dev分支合并到master上,在master分支发布1.0版本;

分支策略

每个人都在dev分支上干活,每个人都有自己的分支,时不时地往dev分支上合并就可以了。
所以,团队合作的分支看起来就像这样:

分支线

7. bug分支

7.1 git stash 储存工作区信息命令

用于临时保存当前工作目录中的更改,同时将工作目录恢复到最近一次提交的状态。这使得开发者可以在不同任务之间快速切换,而无需提交未完成的更改。

注意:不能保存增加的文件,只能管理已经添加到.git仓库的工作区文件

git stash  # 保存当前工作目录中的所有未提交的更改
git stash list  # 列出所有保存的 stash
git stash apply  # 将最近一次保存的 stash 应用到当前工作目录,但不会删除该 stash
git stash pop  # 将最近一次保存的 stash 应用到当前工作目录,并从 stash 列表中删除该 stash
git stash drop stash@{<index>}  # 删除指定的 stash
git stash clear  # 删除所有保存的 stash

那存放的位置在哪呢?tree .git 就可以发现refs中多了个stash,这个就是保存的位置了

存放位置

7.2 bug解决流程

当dev2进行部分代码开发,突然发现master有bug,这时要新建fix_bug分支解决bug,切换分支时会发现会对dev2修改内容进行提示,此时可以用 git stash 命令对所在分支工作区信息进行储藏

bug1

此时切换到master后新建fix_bug分支进行修改bug,修复后再将其合并到master中。

bug2

此时切回dev2继续进行开发,要将stash恢复回来,用 git stash list 查看列表,然后用 git stash pop 恢复之前存储的内容,之后继续开发,开发完成后就可以添加提交。

bug3

bug4

此时不能直接合并到master中,因为直接合并可能会导致冲突或者master代码出现新bug,所以此时应该先将master合并到dev2中,并解决可能出现的问题,解决完成后再合并到master中

bug5

最后删除2个分支完成开发

bug6
流程bug合并

Git 在实际应用中,是对远端仓库进行管理,在明白分支管理后,就进入最后部分:Git 远端仓库管理

http://www.dtcms.com/wzjs/73149.html

相关文章:

  • 本机怎么放自己做的网站东莞seo外包平台
  • 汽车行业网站建设维护服务名词解释搜索引擎优化
  • 英文网站的首页怎么做武汉seo招聘信息
  • 房子网站有哪些关键词优化报价查询
  • 鄂尔多斯网站建设深圳平台推广
  • 外贸网站建设公司 迅当网在哪里可以发布自己的广告
  • 手机视频网站建站企业新闻稿发布平台
  • 免费企业一键建站网站百度搜索排名服务
  • wordpress物体替换纹理合肥360seo排名
  • 做cpa推广的网站怎么弄英文网站seo
  • 我自己做的一个网站显示证书错误网站建设策划
  • 免费的app开发工具搜索引擎优化的基本原理
  • angular做的网站大全首页关键词怎么排名靠前
  • 仿起点小说网站开发东莞网络推广培训
  • 自己做的网站图片无法显示如何免费推广自己的产品
  • 杭州网站设计手机怎么做一个网站
  • 手机上哪个网站电脑版百度网盘
  • 设计做任务的网站刷神马seo排名首页排名
  • 百度网站官方认证怎么做中国国家数据统计网
  • 招聘网站竞品分析怎么做全球热搜榜排名今日
  • 企业建站网络公司风云榜百度
  • 郑东新区网站开发网络广告推广方法
  • 建设网站的公司有哪些职业培训学校
  • 什么网站能代做预算必应搜索引擎网址
  • 广州做网站信科建设武汉seo公司排名
  • 淘宝买cdk自己做网站seo前景
  • 城乡建设部网站自助商品房网络营销师证书查询
  • 微商的自己做网站叫什么软件广告网站有哪些
  • 郑州做网站排名seo实战培训中心
  • 淘宝销售书网站建设方案洛阳seo网络推广