• mzy git学习,禁用Fast forward的普通合并(六)


    git merge --no-ff -m "msg" x-branch:禁用Fast forward的普通合并

    通常,合并分支时,如果可能,Git会用Fast forward模式,但这种模式下,删除分支后,会丢掉分支信息(即:原来这个分支的做了什么在log中体现不出来)。
    为了保留原来的分支,即:普通合并,这样的话,merge的时候会提交一个commit,就会输入-m参数,在log中体现的也更清晰!

    前面我们解决冲突的时候发现,我们解决冲突之后,即使
    是在master主分支上合并dev,最后查看日志的时候:

    git log --graph --pretty=oneline --abbrev-commit


    发现其实合并前后只有一条线,master和mzy指向的是同一个结点。这样完全看不出合并的痕迹。

    但使用--no-ff的话,禁用Fast forward,使用普通合并,就能在合并的位置看到一个commit 突出的合并节点!

    假如我们当前在master分支上:
     

    git merge --no-ff -m "把dev分支上的内容合并到master上,使用普通合并" dev
    $ git log --graph --pretty=oneline --abbrev-commit
    *   8fc444b (HEAD -> master) merge with no-ff
    |
    | * 1601be9 (dev) add merge
    |/
    * 4aa96bc 修改了readme.txt
    * 68f4f31 修改LICENSE
    *   6653ea8 Merge branch 'yao' into mzy

    这样的话,就很利于团队开发了!
    大家都在自己的分支上干活,时不时的往dev上合并,最后定期合并到master上就好了!这样也能看出我们的分支的信息,以及什么时候合并过,更直观!默认的fast forward我们是看不出痕迹的!
    团队中开发怎么用呢?
     

    首先有master分支:
    在master分支上创建一个master的分支,dev(开发分支):
    git checkout master 切换到master上
    git checkout -b dev (创建并切换到了dev分支上了)
    git branch mzy_a (在dev上为dev创建mzy_a分支)
    git branch mzy_b (在dev上为dev创建mzy_b分支)
    git branch mzy_c (在dev上为dev创建mzy_c分支)
    ... ...

    git merge --no-ff -m "" 分支名称。

  • 相关阅读:
    vue报错 error: data.push is not a function
    vue elment.style样式修改(第三方组件自生成元素)
    按元素标签查询多个
    按css查询多个元素
    按CSS查询一个元素
    查询单个元素
    JavaScript 查找元素
    Spring 商品分类
    Spring 使用日志
    Spring 使用日期类型
  • 原文地址:https://www.cnblogs.com/mzywucai/p/11053348.html
Copyright © 2020-2023  润新知