zoukankan      html  css  js  c++  java
  • git常见问题总结

    git 慎用命令#

    • 后悔药
    git reset --hard XX
    • 归并
    git rebase XX
    • 重写
    git commit --amend

    git 多分支合并#

    场景#

    线上有2个或多个分支需要合并,本地开发只有一个分支 现在需要把本地开发的分支合并到远端多个分支

    错误做法#

    • 开发时首先再本地切一个新的dev分支
    • 开发完成并验证后,将新的dev分支合并到本地主分支
    • 本地主分支推动到线上本地仓主分支
    • 将本地仓主分支直接合并到远端所有合并分支

    出现的问题是,如果远端所有分支,都是一样的话,这样合并是ok的. 但是现在的情况是远端的各个分支已经有不同的开发状态了. 如果合并上去的话,就会把线上所有的分支信息搞混乱 并且你自己的分支也会携带不属于你自己修改的代码 有和我一样犯错的小伙伴,请不要这样再处理了

    正确做法#

    方法一#

    • 首先更新所有分支
    git fetch --all
    • 查看远程仓所有分支
    git branch -a
    • 新建一个本地需要推送的分支
    git checkout -b newBranch om/newBranch
    • 查看是否拉取成功
    git log -n
    • 切到开发完成分支
    git checkout master
    • 查看需要pick的logId
    git log -n 
    • 切需要推送的分支
    git checkout newBranch
    • pick需要合并的logId
    git cherry-pick logId1 logId2
    • 查看是否是pick正确的代码并push到远端
    git log -ngit statusgit push origin newBranch
    • 合并到主仓即可

    方法二#

    • 合并到主仓后,等合并成功后cherry-pick到其他仓
    • 这个办法比较简单,但是需要等待
    • 其次我只能全部合并,如果想要部分合并logId,还是用法一吧
  • 相关阅读:
    输入和输出插头
    MCB2300的CTM1050(CAN)
    POJ读书笔记2.1 —— 鸡兔笼带
    Java程序猿的书面采访String3
    JavaScript:undefined And null差异
    设计模式——结构模型
    Qt移动应用开发(六):QML与C++互动
    让我们来谈谈合并排序算法
    安装Eclipse完PyDev插件中没有出现
    汉顺平html5课程分享:6小时制作经典的坦克大战!
  • 原文地址:https://www.cnblogs.com/gongxianjin/p/15515233.html
Copyright © 2011-2022 走看看