SourceTree使用(II)

作者: Harely | 来源:发表于2019-11-19 16:55 被阅读0次

    终端一般 Git命令

    增加新功能

    ///从dev建立特性分支
    (dev)$: git checkout -b feature/xxx   
    
    ///开发        
    (feature/xxx)$: blabla                         
    (feature/xxx)$: git add xxx
    (feature/xxx)$: git commit -m 'commit comment'
    
    ///把特性分支合并到dev
    (dev)$: git merge feature/xxx --no-ff          
    

    修复紧急bug

    ///从master建立hotfix分支
    (master)$: git checkout -b hotfix/xxx   
    
    ///开发      
    (hotfix/xxx)$: blabla                        
    (hotfix/xxx)$: git add xxx
    (hotfix/xxx)$: git commit -m 'commit comment'
    
    /// 把hotfix分支合并到master,并上线到生产环境
    (master)$: git merge hotfix/xxx --no-ff  
    
    ///把hotfix分支合并到dev,同步代码     
    (dev)$: git merge hotfix/xxx --no-ff        
    



    测试环境代码

    ///把dev分支合并到release,然后在测试环境拉取并测试
    (release)$: git merge dev --no-ff             
    

    生产环境上线

    ///把testing测试好的代码合并到master,运维人员操作
    (master)$: git merge testing --no-ff   
    
    ///给版本命名,打Tag       
    (master)$: git tag -a v0.1 -m '部署包版本名' 
    

    新建分支

    创建 Develop 分支 步骤

    创建了Develop分支,如下:


    Develop 分支效果图

    Demo: 创建功能开发分支feature/Harley

    feature/Harley 步骤

    效果:


    feature 效果图

    远程检出分支

    远程检出 develop 分支 检出 develop 分支

    效果图:


    远程检出的 develop 分支

    删除分支

    删除远程分支

    删除远程分支

      这是删除远程的分支,本地分支还没有删除,需要进行下一步删除本地分支。

    删除本地分支

    删除 Develop 分支步骤图

    拉取

    master分支的内容是最新的,feature/Harley的分支版本落后于master,从远程拉取内容合并到feature/Harley的分支上,如下图步骤:

    拉取 master 分支到 feature/Harley 分支上

    合并分支

    第一种方法

    合并分支

    第二种方法

    合并Huang 分支到 develop 分支

    代码回滚

    适用于的场景:

    • 提交错代码,想放弃刚刚提交的部分;
    • 代码发生冲突,处理比较麻烦,为了代码安全,直接回滚到之前干净的代码。

    回滚分为本地回滚远程回滚;



    本地回滚,回滚已经提交的代码,但还未推送到远程仓库。

    选择回滚到哪次提交 选择模式进行回滚

    使用模式:
    软合并:保留上第二次提交的修改内容,就等第二次提交的【概述】了。
    混合合并:保留上第二次提交的修改内容,就等第二次提交的【概述】了(与软合并没啥区别)。
    强行合并:清除第二次提交的所有内容,第一次提交的【概述】也没有了,好像刚刚第一次的提交。

    效果图:


    本地回滚完成



    远程回滚
    SourceTree默认是不提供这种操作的,因为存在风险。所以,回滚远程代码,一定要注意:
    ①. 想要放弃的代码,是所有开发成员都一致同意的;
    ②. 想要放弃的代码只是自己的,中间没有别人的提交记录,这可以直接回滚。
    ③. 这个操作过程中,提醒其他成员不要推送代码。

    • Frist Stemp


      SourceTree 开启【允许强制推送】权限
    • Second Stemp


      回滚到想提交的位置
    • Third Stemp


      强制推送

    效果图:


    回到了第一次提交位置

    变基

    变基与合并的区别

    作用:

    • 变基到其他分支,不会生成新的提交节点;
    • 压缩提交消息;



    ①变基到其他分支将Harley 分支内容接到 develop

    将Harley 分支内容接到 develop

    注意:在这里,先要拉取,再推送,否则会失败,下面是推送,如下:

    推送develop分支到远端

    打Tag

    功能:

    • 轻量级的:它其实是一个独立的分支,或者说是一个不可变的分支.指向特定提交对象的引用;
    • 带附注的:实际上是存储在仓库中的一个独立对象,它有自身的校验和信息,包含着标签的名字,标签说明,标签本身也允许使用 GNU Privacy Guard (GPG) 来签署或验证,电子邮件地址和日期,一般我们都建议使用含附注型的标签,以便保留相关信息。
    添加Tag步骤

    也可以像下图那样打标签🏷️那样:


    工作流打标签流程

    Tag 的使用请看这里。

    Tag 和 branch 的区别:

    • tag 对应某次 commit, 是一个点,是不可移动的;
    • branch 对应一系列 commit,是很多点连成的一根线,有一个HEAD 指针,是可以依靠 HEAD 指针移动的。

      所以,两者的区别决定了使用方式,改动代码用 branch ,不改动只查看用 tag。

      tag 和 branch 的相互配合使用,有时候起到非常方便的效果,例如 已经发布了 v1.0 v2.0 v3.0 三个版本,这个时候,我突然想不改现有代码的前提下,在 v2.0 的基础上加个新功能,作为 v4.0 发布。就可以 检出 v2.0 的代码作为一个 branch ,然后作为开发分支。


    Git 工作流

    1⃣️在develop 分支建立 release分支

    建立release 发布版本 建立 release 分支的 1.3.7发布版本

    参考资料
    Git 分支阐述
    sourceTree合并某次提交
    source tree进行rebase操作
    合并多次提交

    相关文章

      网友评论

        本文标题:SourceTree使用(II)

        本文链接:https://www.haomeiwen.com/subject/rdhgictx.html