• 4.分支管理


    转载廖雪峰

    1.分支创建与合并的原理

    一开始master分支是一条线,Git用master指向最新的提交,在用HEAD指向master,就能确定当前分支,以及当前分支的提交点。master是指向提交的,HEAD是指向master

    每次提交,master分支都会向前移动一步,这样随着你不断提交,master分支的线也越来越长。每当我们创建新的分支,例如dev时,Git新建了一个指针叫dev,指向master相同的提交,再把HEAD指向dev,就表示当前分支在dev上:

    从现在开始,对工作区的修改和提交就是针对dev分支了,比如新提交一次后,dev指针往前移动一步,而master指针不变:

    假如我们在dev上的工作完成了,就可以把dev合并到master上。Git怎么合并呢?最简单的方法,就是直接把master指向dev的当前提交,就完成了合并:

    所以Git合并分支也很快!就改改指针,工作区内容也不变!

    合并完分支后,甚至可以删除dev分支。删除dev分支就是把dev指针给删掉,删掉后,我们就剩下了一条master分支:

    2.分支指令操作

    创建分支

      git branch dev
    

    切换分支

      git checkout dev
    

    查看当前分支

      git branch
    

    合并分支

      git merge dev            #把dev合并到master上
    

    删除分支

      git branch -d dev
    

    3.解决冲突

    当分支和master分支上的内容出现冲突时。也就是master和新分支上都有了新的提交时,这时无法快速合并分支。必须手动解决冲突后在提交。

    4.禁止Fast forward模式

    在合并分支时,如果使用Fast forward模式,删除分支后,就会丢掉分支信息。如果禁止使用Fast forward模式,使用普通的分支合并。就可以看出分支信息。
    禁用Fast forward

      git merge --no-ff -m "merge with no-ff" dev
    

    5.现场保存

    当你正在Git上修改一个bug时,遇到另外一个bug需要马上修改。此时需要保存现在修改的环境和代码。
    保存工作现场

      git stash
    

    查看保存

      git stash list
    

    恢复工作现场
    a.恢复现场后,stash内容并不删除。需要手动删除

      git stash apply            # 恢复现场
      git stash drop             # 删除stash list
    

    b.恢复现场的同时把stash内容删除

      git stash pop
    

    6.推送分支

    查看远程库的信息
    远程仓库的默认名为origin

      git remote -v
    

    推送分支

      git push origin master            # 推送到主分支
      git push origin dev               # 推送到dev分支
    

    7.git rebase

    把本地未push的分叉历史整理成直线

      git rebase
  • 相关阅读:
    hudson中 ANT 编译警告: 编码 UTF-8 的不可映射字符解决方法
    Jmeter与hudson,ant集成
    Hudson配置路径
    python 面向对象:封装---对象的属性可以是另一个类创建的对象
    python 面向对象:封装
    python3 f-string格式化字符串的高级用法
    iOS微信支付无法直接返回APP的问题
    学习git&github
    Appium之xpath定位详解
    selenium等待方式详解
  • 原文地址:https://www.cnblogs.com/huangdengtao/p/13200370.html
Copyright © 2020-2023  润新知