zoukankan      html  css  js  c++  java
  • Git敏捷开发--rebase命令

    git rebase是git下比较常用的命令,以下记录自己遇到较多的使用场景。

    合并分支

    在多人协作的项目中,拉分支是很常见的事情,经常需要同步自己的分支与远端master分支一致,有两种方式:

    • git merge master
    • git rebase master

    两者的区别在于:前者会在生成一条 Merge branch master into XXX 的commit记录,而后者能保持commit干净。

    git rabase 在开源提交PR时,能够更好地保持commit 整洁,消除了多余的 Merge log。

    # 假设私拉分支为fix_bug,且当前处于此分支上
    # 同步master分支
    git fetch master
    git rebase master
    
    # 如何有冲突,会暂停rebase,需要手动解决冲突,然后
    git add your_conflict_file
    git rebase --continue
    
    # 在任何时候,都可以终止rebase
    git rebase --abort
    # 会回到执行rebase前的状态
    
    # 在当前分支git pull时有时候也会产生Merge记录
    # 可以在后面加上--rebase,保持commit log整洁
    git pull --rebase
    

    合并多条commit记录

    # 合并最近提交的3条commit
    git rebase -i HEAD~3
    
    # pick 表示选择此次commit,squash表示将此commit和上一条commit合并
    # 修改完之后,wq保存退出,会合并commit
    # 切忌不要 git pull
    # 因为合并的是远程已经push的commit,要应用合并,需强制push
    git push -f
    
  • 相关阅读:
    opensuse tumbleweed中安装code
    树莓派中将caplock映射为esc键
    记录一次奇怪但是很有意义的程序编译警告
    新树莓派系统安装ROS记录
    程序的深挖
    intle官方手册下载
    slax linux的定制
    angular4 *ngFor获取index
    axios post传参后台无法接收问题
    AMD、CMD、CommonJs和 ES6对比
  • 原文地址:https://www.cnblogs.com/CocoML/p/12727215.html
Copyright © 2011-2022 走看看