zoukankan      html  css  js  c++  java
  • git分支管理

    分支管理:

    一、创建分支

    为了便于理解,先在master分支上做两个增量提交版本,操作如下:

    1、手动新增一个new01.py文件,内容为print('new01')

    2、使用 git add *  git commit -m “第一次提交” 进行提交

    3、手动新增一个new02.py文件,内容为print('new02')

    4、使用 git add *  git commit -m “第二次提交”  进行提交

    二、新分支上提交并切换到master分支

    1、对new02.py文件进行修改,内容为print('devnew02')

    2、使用 git add *  git commit -m dev分支第一次提交” 进行提交

    3、使用 git log --pretty=oneline 查看git日志

    4、使用命令 git checkout master 切换回master分支,此时会发现new02.py的修改已经没了,因为已经切换到master分支

    三、把dev分支合并到master分支

    1、使用命令git merge dev dev分支上的内容合并到分支mastergit merge命令用于合并指定分支到当前分支,Fast-forward表明这次合并是“快进模式”,也就是直接把master指向dev的当前提交,所以合并速度非常快。

    2当分支合并后,可以通过命令git branch -d dev 删除dev分支

    四、分支合并时的冲突

    1、使用命令 git checkout -b dev 创建并切换到分支dev

    2、对new02.py文件进行修改,添加一行内容为print('dev')并提交到版本库

    3、使用命令 git checkout master 

    4、对new02.py文件进行修改,添加一行内容为print('master')并提交到版本库

           上面这种情况,git无法执行"快速合并",只能试图把各自的修改合并起来,但这种合并就可能会有冲突。

           冲突原因:master分支和dev分支各自都分别有新的提交,并且编辑了同一个文件。

    1、使用命令 git checkout -b dev 创建并切换到分支dev

    2、对new02.py文件进行修改,添加一行内容为print('dev')并提交到版本库

    3、使用命令 git checkout master 

    4、对new02.py文件进行修改,添加一行内容为print('master')并提交到版本库

           上面这种情况,git无法执行"快速合并",只能试图把各自的修改合并起来,但这种合并就可能会有冲突。

           冲突原因:master分支和dev分支各自都分别有新的提交,并且编辑了同一个文件。

    dd删除不要的

    Fast Forward意为"快进模式"。主要使用在多分支合并的情况下。即:当前分支合并另一个分支的时候,如果合并的过程中没有冲突的时候,则会通过直接移动两个分支的指针,来达到合并的过程,这个过程就叫做Fast Forward

           Fast Forward模式下,当我们合并分支后,将会删除无用的分支dev,在这种情况下,Fast Forward就有一个弊端暴露了,即:删除分支后,会丢掉分支的所有信息。

            在合并dev分支的时候,通过命令 git merge --no-ff -m “禁用Fast Forward模式提交” dev 可以强制禁用Fast Forward模式提交,然后再使用命令 git log --graph --pretty==oneline --abbrev-commit 查看日志即可看到分支信息

    Fast Forward模式合并:

    禁用Fast Forward模式合并保留分支信息

    创建dev02分支在new02.py新增print(‘dev02’)

    git merge --no-ff -m “禁用Fast Forward模式提交”dev

    git merge --no-ff -m “禁用Fastdev02

    it log --graph --pretty=oneline --abbrev-commit 查看日志即可看到分支信息

    git branch -d 删除分支

     

    回忆滋润坚持
  • 相关阅读:
    extjs tabpanel动态添加panel
    日期处理工具类
    POI导入导出Excel
    生成流水号
    计划排产系统
    3Dflash 图表xml数据封装
    使用GZIP动态压缩Extjs
    码农行业的薪水一览,如有雷同纯属巧合
    我的技术从今天开始开通啦~~~
    关于腾讯QQ
  • 原文地址:https://www.cnblogs.com/james5d/p/14095118.html
Copyright © 2011-2022 走看看