• 技术文章 >开发工具 >git

    GIT 的分支与合并

    GuanhuiGuanhui2020-07-22 17:56:03转载1095

    如何将两个分支合并到一起。就是说我们新建一个分支,在其上开发某个新功能,开发完成后再合并回主线。

    1. git merge

    咱们先来看一下第一种方法 —— git merge

    在 Git 中合并两个分支时会产生一个特殊的提交记录,它有两个父节点。翻译成自然语言相当于:“我要把这两个父节点本身及它们所有的祖先都包含进来。”下面具体解释。

    # 创建新分支 bugFix
    git branch bugFix
    
    # 切换到该分支
    git checkout bugFix
    
    # 提交一次
    git commit
    
    #   切换回 master
    git checkout master
    
    #  再提交一次
    git commit
    
    # 用 git merge 把 bugFix 合并到 master
    git merge bugFix
    
    (master 的分支被混入到所有的提交记录,但 bugFix 没有,所以要进行下面的操作)
    
    # 再把 master 分支合并到 bugFix(因为 master 继承自 bugFix,Git什么都不用做,只是简单地把 bugFix 移动到 master所指向的那个提交记录。)
    git checkout bugFix;
    git merge master

    2. git rebase

    第二种合并分支的方法是 git rebase。rebase 实际上就是取出一系列的提交记录,“复制”它们,然后在另外一个地方逐个的放下去。

    Rebase 的优势就是可以创造更线性的提交历史,这听上去有些难以理解。如果只允许使用 Rebase 的话,代码库的提交历史将会变得异常清晰。

    # 创建新分支 bugFix分支
    git branch bugFix
    
    #提交一次(提交在master分支上)
    git commit
    
    # 切换到bugFix分支
    git checkout bugFix
    
    # 提交一次(提交在bugFix分支上)
    git commit
    
    #使用git rebase把 bugFix 分支里的工作直接移到 master 分支上(移动以后会使得两个分支的功能看起来像是按顺序开发,但实际上它们是并行开发#的)。
    git rebase master
    
    注意:提交记录 C3 依然存在(树上那个半透明的节点),而 C3'是我们 Rebase 到 master 分支上的 C3 的副本。
    
    #切换到master分支上(为了进行更新master的操作)
    git checkout master
    
    #把master的 rebase 到 bugFix 分支上(由于 bugFix 继承自 master,所以 git 只是简单的把 master 分支的引用向前移动了一下而已。)
    git rebase bugFix

    推荐教程:《Git

    以上就是GIT 的分支与合并的详细内容,更多请关注php中文网其它相关文章!

    声明:本文转载于:jb51,如有侵犯,请联系admin@php.cn删除
    专题推荐:git 分支 git 合并
    上一篇:“git add -A” 和 “git add .” 的区别 下一篇:“git fetch”与“git pull”的区别
    大前端线上培训班

    相关文章推荐

    • github怎么让别人审核?• Git 常用的六个命令是什么?• GIT 和 SVN 区别详解• dockerhub内怎么连接github自动构建镜像?• “git add -A” 和 “git add .” 的区别

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网