zoukankan      html  css  js  c++  java
  • 分支之间代码同步

    场景一:

              代码已完全提交的分支A,与代码已完全提交的分支B,需要将A全部同步到B

    场景二:

              代码已完全提交的分支A,与代码已完全提交的分支B,需要将A某个或某些commit提交同步到B

    场景三:

               尚未提交commit节点的分支A,将本次尚未提交commit的分支代码同步到分支B

    场景一解决方案: merge 或 rebase 合并分支

    // 比如将feature分支代码同步到master
    git checkout master
    git merge feature
    // 或者 
    git checkout feature 
    git rebase master
    
    注意:关于merge与rebase的区别,参考https://zhuanlan.zhihu.com/p/57872388

    场景二解决方案:  cherry-pick 复制某个或某些节点到当前分支

    【基础命令】
         git cherry-pick <commit id>
         // 将某次提交节点的代码,拉取过来,会在当前分支生成一个新的提交(新的commit ID);
    
         git cherry-pick <commit A> <commitB> 
         // 将A、B两个提交应用到当前分支,会在当前分支生成两个对应的新提交(新的commit ID);
    
         git cherry-pick A^..B
         // 将A到B的所有提交,转移到当前分支,生成一系列对应的提交(新的commit ID);
         // ^是包含A,不带^则不包含A
    
    【遇到冲突时,chery pick 会停下来】
       选项一:解决冲突,然后将修改的代码加入暂存区(git add .)下一步让cherry-pick继续:git cherry-pick --continue
       选项二:git cherry-pick --abort  放弃合并,代码会到操作前的样子
    【拉取另一个仓库的提交节点】 git remote add target <
    gitUrl> //添加该库为远程仓库 git fetch target // 将远程代码抓取到本地 git log target/master // 获取远程仓库的哈希值 git cherry-pick <commitHash> //抓取对应的提交.

    注意:cherry pick 类似 复制 + 粘贴

    场景三解决方案:stash  临时保存,可跨分支,在代码未commit之前有效,否则只能用cherry-pick

    【基本使用】
           git stash save <save message>
           // 执行存储,添加备注,方便查找
           // 只有git stash 也可以,但是查找时不方便识别
      
          git stash apply 
           // 应用某个存储,默认应用最近的第一个stash@{0}
           // 如果要应用其它个,使用mum指定第几个;git stash apply stash@{num}
           // 不会把当前应用的存储从存储列表中删除
    
          git stash pop
          // 功能与apply相同,不同的是会把当前应用的存储从存储列表中删除
    
          git stash list
          // 输出存储列表,查看存储里哪些
    
          git stash show
          // 显示某个存储具体的改动
           // 默认显示第一个,如果要显示其它个:git stash apply stash@{num}
    
          git stash drop stash@{num}
          // 从存储列表中删除某个存储,仅仅只是删除
    
          git stash clear
          // 删除所有存储,清空存储列表 
       
     注意: 没有在git版本控制中的文件,是不能被git stash存储起开的,需要先git add;stash 类似 剪切 + 粘贴
  • 相关阅读:
    学习进度条
    学术诚信与职业道德
    czxt
    操作系统
    04 17评论博客
    0414 结对 2.0 33 34
    0408 汉堡包
    (补)结对心得
    构建之法4读后感
    复利计算4.0
  • 原文地址:https://www.cnblogs.com/caofeng11/p/15426935.html
Copyright © 2011-2022 走看看