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
    
  • 相关阅读:
    Java中Runnable和Thread的区别
    git 代理设置
    Android的bitmap和优化
    String、StringBuffer与StringBuilder之间区别
    工作流的一些记录
    UIAutomation调用计算器模拟自动执行
    从客户端(Content="<EM ><STRONG ><U >这是测试这...")中检测到有潜在危险的Request.Form 值。
    泛型
    基础加强
    数据库和ado
  • 原文地址:https://www.cnblogs.com/CocoML/p/12727215.html
Copyright © 2011-2022 走看看