[Git]3_分支管理

目录

  • 创建与合并分支
  • 解决冲突
  • 分支管理策略
    • 不使用Fast forward模式
    • 分支策略
  • Bug分支
  • Feature分支

学习资源来自廖雪峰的Git教程

本文简短记忆学习内容,主要是使用命令,方便以后查看,完整学习请查看廖雪峰Git教程

操作过程在Ubuntu18.04完成,其他平台没有尝试

创建与合并分支

  1. 创建branch

    $ git branch <branch name>
  2. 切换branch
    $ git checkout dev

上面两步也可以通过下面一步来完成

$ git checkout -b dev # 加上-b参数之后,表示创建并切换
  1. 查看当前branch

    $ git branch
  2. 合并分支
    $ git merge <branch>

    该命令为合并指定分支到当前分支。

    返回信息中,Fast-forward表示”快进模式“,直接把当前分支指向指定分支。

  3. 删除分支
    $ git branch -d <branch>

解决冲突

冲突产生原因:当两个分支都更改了一个文件时,而且都提交,这样在合并的时候,就会产生冲突。

而当产生冲突的时候,需要手动解决冲突,然后再提交,再生成commit,才能合并完成。

手动解决冲突的方法:将Git合并失败的文件手动编辑为我们希望的内容,然后在提交。

解决完冲突之后,可以看分支合并图,使用命令

$ git log --graph --pretty=oneline

分支管理策略

不使用Fast forward模式

$ git merge --no-ff -m <message> <branch name>

不使用Fast forward模式合并

分支策略

  1. master分支非常稳定,只发布新版本
  2. 平常干活在dev分支上,dev分支不稳定
  3. 每个人都有自己的分支,然后将自己的工作合并到dev分支上

Bug分支

如果有bug需要修复,一般会创建新的bug修复分支来修复,合并,最后删除。

如果想要修复bug时,手头上还有任务未完成,可以先把工作现场保存,然后恢复,一系列命令如下表格

命令 作用
git stash 暂时保存工作现场
git stash list 查看保存的工作现场
git stash apply 恢复工作现场,但是stash内容不删除
git stash apply [email protected]{n} 恢复到[email protected]{n}(序号)
git stash drop 删除stash
git stash pop 恢复工作现场,并删除stash内容

Feature分支

开发一个新功能的时候,最好新建一个feature分支,开发完成之后合并,再删除此分支

如果使用命令git branch -d <branch name>删除一个没有合并的分支时,会失败,需要使用如下命令强制删除

$ git branch -D <branch name>

原文地址:https://www.cnblogs.com/aacirq/p/9692026.html

时间: 2024-10-14 13:52:27

[Git]3_分支管理的相关文章

git 实现分支管理项目,是羡慕管理更高效;

利用git 的分支管理的能力实现更有章法的协同开发的模式: 其实在我们进行 git init 时就创建了 master 的主分支: 那现在我如何建立第二个分支呢? :git branch local 初始时分支的内容是完全和主分支是一样的,在分支中所有的操作都不影响主分支里的情况,你可以在其中做任何修改: 如何查看分支呢? :git branch local * master 星号是表示当前所在的分支:其实两个分支一模一样,只是大家都是把master当作主分支的: 如何切换分支呢? :git c

git远程分支管理

git远程分支管理 使用分支的原则 master分支是非常重要的,线上发布代码用这个分支,平时我们开发代码不要在这个分支上 创建一个dev分支,专门用作开发,只有当发布到线上之前,才会把dev分支合并到master 开发人员应该在dev的基础上再分支成个人分支,个人分支里面开发代码,然后合并到dev分支 远程分支管理 在远程GitHub上创建dev分支 克隆远程GitHub仓库(只会克隆 apeng仓库中的master分支) [[email protected] ~]# mkdir /remot

[git]git的分支管理

最近在折腾git,有感于git这个强大而好用的版本管理工具. 说说git分支管理的心得体会. 首先,要有个master主分支: Git主分支的名字,默认叫做Master.它是自动建立的,版本库初始化以后,默认就是在主分支在进行开发. Git 的 “master” 分支并不是一个特殊分支. 它就跟其它分支完全没有区别. 之所以几乎每一个仓库都有 master 分支,是因为 git init 命令默认创建它,并且大多数人都懒得去改动它. 日常开发中,要用到另外一个分支,就是Dev分支,主要用来开发,

Git的分支管理(二)

分支管理策略 git 在合并(merge)的时候有两种方式,一种是Fast forward模式,这种方式是快速模式,删除分支后,会丢掉分支信息. 另外一种是--no-ff方式(禁止Fast forward模式),Git就会在merge时生成一个新的commit,这样,从分支历史上就可以看出分支信息. Fast forward模式: $ git merge dev --no-ff方式: $ git merge --no-ff -m "merge with no-ff" dev 因为本次合

Git操作-分支管理(二)

解决冲突 场景:创建一个新的分支feature1,然后在README.txt文件里添加4 create a branch named feature1,然后在feature1分支上提交.提交后切换到master分支,再在master分支上将最后一行修改为create a new branch named feature1,再提交,现在,master分支和feature1分支各自都分别有新的提交: 此时结构图是这样的: 在这种情况下,我们尝试把两个分支合并,git merge feature1:

Git 之三 分支管理

写在前面   Git 的官网上有很详细的使用教程(当然有翻译版本),具体地址是 https://git-scm.com/book/zh/v2.唯一不足就是,很多讲解并没有实机演示.但是,毫无疑问,官网资料是最全面的!如果有任何疑问,可以去官网看看! 分支   使用分支意味着你可以把你的工作从开发主线上分离开来,以免影响开发主线. Git 的一大特点就是对于分支的支持!Git 的分支可谓是难以置信的轻量级,它的新建操作几乎可以在瞬间完成,并且在不同分支间切换起来也差不多一样快. 远程分支   在了

Git的分支管理(一)

分支在实际中有什么用呢?假设你准备开发一个新功能,但是需要两周才能完成,第一周你写了50%的代码,如果立刻提交,由于代码还没写完,不完整的代码库会导致别人不能干活了.如果等代码全部写完再一次提交,又存在丢失每天进度的巨大风险. 现在有了分支,就不用怕了.你创建了一个属于你自己的分支,别人看不到,还继续在原来的分支上正常工作,而你在自己的分支上干活,想提交就提交,直到开发完毕后,再一次性合并到原来的分支上,这样,既安全,又不影响别人工作. 创建与合并分支 在git里,有一条master主分支.一开

git常用分支管理命令

切换分支:git checkout name 撤销修改:git checkout -- file 删除文件:git rm file 查看状态:git status 添加记录:git add file 或 git add . 添加描述:git commit -m "miao shu nei rong" 同步数据:git pull 提交数据:git push origin name 分支操作 查看分支:git branch 创建分支:git branch name 切换分支:git che

git本地分支管理

查看分支:git branch创建分支:git branch dev重命名分支:git branch -m dev dev1删除分支:git branch -d dev切换分支:git checkout dev合并分支(log中无合并痕迹):git merge dev合并分支(log中能看到合并痕迹):git merge dev --no-ff -m 'merge msg' 查看两个分支的差异:git diff master..dev