zoukankan      html  css  js  c++  java
  • git----工作流程

    参考:https://www.funtl.com/zh/git/Git-%E5%B7%A5%E4%BD%9C%E6%B5%81%E7%AE%80%E4%BB%8B.html

    1、集中式工作流

    1.1示例:

    1.1.1有人先初始化好中央仓库

    在github上建立一个统一的仓库

    1.1.2所有人克隆中央仓库

    1.2.3小明开发功能

    在本地git中创建文件

    1.2.4小红开发功能

    在本地git中创建文件

    1.2.5小明发布功能

    git add 文件名

    git commit -m “描述”

    git push origin master

    1.2.6小红发布功能

    如果小红像小明一样直接push会报错,这避免了小红覆写正式的提交。她要先 pull 小明的更新到她的本地仓库合并上她的本地修改后,再重试。如果远程的仓库和本地的仓库文件一样,git push 就会直接成功;

    git pull origin maste    (如果你本地有的目录(应该是自己新建的目录)和远程仓库的目录名字,或者文件名字一样,此时会被覆盖写入),个人感觉,在自己pull之间,最好将本地的代码单独保存一份

    git push origin master  (好像不需要再add 和commit了,因为之前已经提交了(add/commit),现在只需要推送,如果之前没有add,还是需要先add。commit)

    最好每一个个体独立创建一个分支。如果有大的合并的话,在单独合并的master中

    2、功能分支工作流

    2.1示例

    2.1.1小红开始开发登录功能

    首先创建分支
      创建分支:                            $ git branch 分支名
      查看所有的分支:                 $ git branch
      切换分支:                            $ git checkout 分支名
      推送代码到远程仓库              $ git push origin login(分支名)  //此时远程仓库会自动生成一个login分支。并且里面有我们推送的代码

    当login(登录功能开发完毕),之后请求和主分支进行合并,合并完成后

    如果需要将远程的分支删除

    git push origin --delete login

    如果需要将本地的分支删除

    git branch -D  login

     

    3.GitFlow 工作流

    3.1示例

    3.1.1

      第一步为 master 分支配套一个 develop(开发) 分支,所有的功能合并到develop上。简单来做可以本地创建一个空的 develop 分支,push 到服务器上:(一班的话开发组长将这一步完成)

    3.1.2.

      小明(已经clone master分支了)

      git branch -a,查看所有分支名称如下(包含远程分支)

      git checkout -b develop origin/develop,作用是checkout远程的dev分支,在本地起名为develop分支,并切换到本地的develop分支,此时远程的develop和本地的develop才会绑定关系,(origin/develop是远程分支)

    3.1.3

      基于develop创建新的分支(注意不能是master)

      git checkout -b register  (创建register分支)

      开发功能

      git push origin register (push到远程仓库,远程仓库会创建register分支)

      功能开发完成,创建合并请求

                      1.

      

         2.

     

             3.等待组长确认合并

     3.1.4

      当一个阶段开发完毕,准备创建预发布版本(基于develop)

      git pull origin develop    //拉取所有的develop代码

      git checkout -b  release-1.0.0   //创建预发布分支(基于develop分支创建)

      git push origin release-1.0.0    //将代码推上远程仓库

      完成测试之后

      合并请求,由release-1.0.0合并到master(合并方式见之前的合并方式,合并的base选择为master)

    3.1.5

      git tag 1.0.0-RELEASE     //给master版本打上标签

      git push origin 1.0.0-RELEASE   //将这个标签推向远程仓库

      

     3.1.6

      如果发现项目出现问题,可以提交问题说明

      

    3.1.7

      对项目进行打补丁

      git  fetch   //将本地分支与远程保持同步

      git branch <new-branch-name> <tag-name>   // 会根据tag创建新的分支   示例:git branch hotfix_0004 1.0.0-RELEASE    _0004代表补丁编号  

      完善bug之后

      git pull origin hotfix_0004  // 推送到仓库中

      将hotfix_0004合并到master中

      切换master分支 ,将master中的代码拉取下来

      git tag 1.0.1-RELEASE     //给master版本打上标签

      git push origin 1.0.1-RELEASE   //将这个标签推向远程仓库

     3.1.8

      将一些没用的仓库清空

     
     
     
     
     
     
     
  • 相关阅读:
    我的开源2009
    Kooboo CMS
    Visual Studio 2008丢失XML高亮和提示
    Kooboo完全介绍二:创建第一个Kooboo站点
    Telnet发送邮件和.NET邮件匿名发送组件
    C#中循环结构的效率问题 Virus
    从Android中Activity之间的通信说开来 Virus
    新浪微博开放平台开发android客户端(2) Virus
    MongoDB在Windows2003上得安装配置及使用 Virus
    消息提示的架构演进理论篇 Virus
  • 原文地址:https://www.cnblogs.com/yanxiaoge/p/10993904.html
Copyright © 2011-2022 走看看