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

    1 创建与合并分支

    1-1我们创建dev分支,然后切换到dev分支
    git checkout -b dev
    创建分支
    git branch dev
    切换分支
    git checkout dev
    查看当前分支
    git branch
    把dev分支的工作成果合并到master分支上
    git merge dev
    删除dev分支
    git branch -d dev

    2 创建,切换分支最新的命令

    创建并切换分支
    git switch -c dev
    创建分支dev
    git branch dev
    切换分支
    git switch master

    3 分支冲突

    查看分支合并情况
    git log --graph --pretty=oneline --abbrev-commit

    当Git无法自动合并分支时,就必须首先解决冲突。解决冲突后,再提交,合并完成。

    解决冲突就是把Git合并失败的文件手动编辑为我们希望的内容,再提交。

    用git log --graph命令可以看到分支合并图。

    3-1 分支管理策略

    仅用表示禁用Fast forward合并分支
    git merge --no-ff -m "merge with no-ff" dev

    3-2 分支策略

    在实际开发中,我们应该按照几个基本原则进行分支管理:

    首先,master分支应该是非常稳定的,也就是仅用来发布新版本,平时不能在上面干活;

    那在哪干活呢?干活都在dev分支上,也就是说,dev分支是不稳定的,到某个时候,比如1.0版本发布时,再把dev分支合并到master上,在master分支发布1.0版本;

    你和你的小伙伴们每个人都在dev分支上干活,每个人都有自己的分支,时不时地往dev分支上合并就可以了。

    所以,团队合作的分支看起来就像这样:
    image.png

    4 bug分支

    可以把当前工作现场“储藏”起来,等以后恢复现场后继续工作
    git stash
    查看分支之前工作区的存储
    git stash list

    4-1恢复

    一是用git stash apply恢复,但是恢复后,stash内容并不删除,你需要用git stash drop来删除;

    另一种方式是用git stash pop,恢复的同时把stash内容也删了:

    恢复指定的stash
    git stash apply stash@{0}

    复制一个提交到当前分支,后面是提交id
    git cherry-pick 4c805e2

    修复bug时,我们会通过创建新的bug分支进行修复,然后合并,最后删除;

    当手头工作没有完成时,先把工作现场git stash一下,然后去修复bug,修复后,再git stash pop,回到工作现场;

    在master分支上修复的bug,想要合并到当前dev分支,可以用git cherry-pick 命令,把bug提交的修改“复制”到当前分支,避免重复劳动。

    5 Feature分支

    添加一个新功能时,你肯定不希望因为一些实验性质的代码,把主分支搞乱了,所以,每添加一个新功能,最好新建一个feature分支,在上面开发,完成后,合并,最后,删除该feature分支。

    6 多人协作

  • 相关阅读:
    使用CSS3的@media来编写响应式的页面
    转帖 移动端h5页面不同尺寸屏幕适配兼容方法
    转 关于HTML5中meta name="viewport" 的用法 不同分辨率手机比例缩放
    转帖 移动前端开发之viewport的深入理解
    Python学习---字符串操作
    Python学习---基础篇
    Qt托盘程序
    MySQL常用语句
    C++模式学习------适配器模式
    C++模式学习------原型模式
  • 原文地址:https://www.cnblogs.com/hellosiyu/p/13049224.html
Copyright © 2011-2022 走看看