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

        随着需求的增多,为了多人协作的顺利进行,需要进行分支开发,进而带来分支管理问题。今天主要讲一下如何管理分支及提交。

        为了使git更好用,下面是我的git配置文件(放在C:UsersAdministrator目录下的.gitconfig文件)。

    [user]
      email = xxx
      name = xxx
    [gui]
      encoding = UTF-8
    [core]
      autocrlf = false
    [color]
      ui = auto
    [branch]
      autosetuprebase = always
    [alias]
      st = status
      ci = commit
      co = checkout
      br = branch
      rb = reset --hard ORIG_HEAD
      unstage = reset HEAD
      lg = log --graph --oneline --decorate
      last = log --graph --oneline --decorate origin/master..HEAD
    [diff]
      external = ~/meld.sh

        这样就可以简化命令了,比如 git status 可以简化为 git st ,另外,git lg 查看log的时候格式也更加好看了,并且 git diff 查看文件改动对比更加明了。

        要想使用git diff,还需要一点点配置:

        下载meld,配置git如下:

    $ git config --global diff.external ~/meld.sh

        编写 meld.sh 包装脚本:

    $ vim ~/meld.sh

        内容如下:

    #!/bin/sh
    meld $2 $5

         写了这么多无关话题,现在说正题。

        在进行分支提交管理的时候使用最多的2条命令是rebase -i和cherry-pick。

        rebase -i 用来合并多个commit为1个,cherry-pick用来拾取commit。现在举例说明。

        首先示例rebase -i来合并多个commit。

         1、查看当前分支提交记录

        2、在当前分支新建test分支

        3、在test分支提交3次

         4、现在要把test分支的3个提交合并到dev,不推荐使用merge,因为会使log分支,推荐使用rebase来合并,所有的log都在一条线上。所以现在切回dev,然后git rebase test即可。

        5、此时如果想把第二三四个提交合并为1个,就rebase -i到第一个提交。

        运行以下命令:

    git rebase -i add92ec

         此时弹出:

        根据命令提示,把下面2个pick改为s后wq保存退出:

        此时弹出提交汇总,可直接保存退出:

        此时rebase -i成功:

        可以看到第二三四个提交都合并为第二个提交。

        详细提交记录:

        所以rebase -i主要是为了保持主分支的整洁性。

        cherry-pick来拾取,比如,我们可以把test分支的第三个提交取到dev分支来,不需要第二和第四个提交。

        1、首先dev分支回到第一个提交:

        2、查看test分支第三个提交的版本号

        3、回到dev分支来拾取test分支的第三个提交

        运气不好,发生了冲突,所以失败了,那就解决冲突后继续:

        git st查看,得知冲突文件,解决冲突后continue。

        现在test分支的第三个提交就到dev分支来了。

        两个git进阶命令,很实用的哦,你学会了么,嘿嘿嘿。

  • 相关阅读:
    ***mysql索引总结----mysql索引类型以及创建
    XCODE快捷键个人总结
    ios下划线变量:为什么变量前要加下划线才有用?
    ios开发之AppDelegate
    **IOS:xib文件解析(xib和storyboard的比较,一个轻量级一个重量级)
    NEON简介【转】
    NEON在Android中的使用举例【转】
    时钟频率的理解--笔记【原创】
    理解逐次逼近寄存器型ADC:与其它类型ADC的架构对比【转】
    模数转换器(ADC)的基本原理【转】
  • 原文地址:https://www.cnblogs.com/lovelyun/p/6145843.html
Copyright © 2011-2022 走看看