应用开发流程及GIT仓库

/ 0评 / 0

应用开发流程

  1. 软件项目开发
    1. 软件项目开发流程
      需求分析 ---> 概要设计 ---> 项目计划 ---> 详细设计 ---> 编码测试  
      ---> 项目测试 ---> 调试修改 ---> 项目发布 ---> 后期维护
    2. 需求分析: 确定用户的真实需求 (主要对外)
      1. 确定用户的真实需求,项目的基本功能
      2. 确定项目的整体难度和可行性分析
      3. 需求分析文档,用户确认
    3. 概念设计:对项目进行分析和整体设计 (主要对内)
      1. 确定整体架构
      2. 进行技术可行性分析
      3. 确定技术整体思路和使用框架模型
      4. 形成概要文档指导开发流程
    4. 项目计划: 确定项目开发的时间轴和流程
      1. 确定开发工作的先后顺序
      2. 确定时间轴,事件里程碑
      3. 确定人员分工
      4. 形成甘特图和思维导图等辅助内容
    5. 详细设计:
      项目的具体实现
      1.构建具体模块的编程逻辑
      2.形成详细设计文档:
      思路分析,逻辑流程,功能说明,技术点说明,数据库设计,数据结构说明,重点代码说明,等待
    6. 编码测试: 按照预定计划实现代码编写,并且做基本检测
      1. 根据详细设计完成代码编写
      2. 写测试程序样例
      3. 进行技术难点攻关
    7. 项目测试: 对项目按照功能进行测试
      1. 根据测试方案完成项目测试
      2. 完成测试报告
      3. 根据测试报告进行代码修改
    8. 项目发布
      1. 项目交付用户进行发布
      2. 编写项目说明文档
    9. 后期维护
      1. 维护项目正常运转
      2. 进行项目的迭代升级
  2. 开发注意事项
    1. 按时完成项目是开发过程中的红线
    2. 项目实施人员之间的冲突
  3. 项目管理工具
    1. 编写文档: word ppt excel markdown
    2. 项目流程图: xmind visio
    3. 项目管理: project
    4. 代码管理: svn git

GIT命令GitHub

  1. GIT和GitHub
    1. GIT概述
      1. GIT: 一个开源的分布式版本控制系统,用于高效的管理各种大小项目和文件.
      2. 代码管理工具的用途
        1. 防止代码丢失,做备份
        2. 项目的版本管理和控制,可以通过设置节点进行跳转
        3. 建立种自的开发环境分支,互不影响,方便合并
        4. 在多端开发时,方便代码的相互传输
      3. GIT特点
        1. git是开源的,多大*nix下使用,可以管理各种文件
        2. git是分布式的项目管理工具(svn是集中式的)
        3. git数据管理更多样化,分享速度快,数据安全
        4. git拥有更好的分支支持,方便多人协调
      4. Linux下GIT安装sudo apt install git
    2. GIT使用
      • 基本概念
        • 工作区: 项目所在操作目录,实际操作项目的区域
        • 暂存区:用于记录工作区的工作(修改)内容
        • 仓库区:用于备份工作区的内容
        • 远程仓库:远程主机上的GIT仓库
      • 初始配置
        • 配置命令: git config --globall [选项]
        • 配置文件位置: ~/.gitconfig
          1. 配置用户名设备用户名:
            sudo git config --global user.name seasilo
          2. 配置用户邮箱设置邮箱:
            git config --global user.email binyu85@gmail.com
          3. 查看配置信息git config --list
      • 基本命令
        • 初始化仓库git init
          意义:将某个项目目录变化git操作目录,生成git本地仓库.即该项目可以使用git管理
        • 查看本地仓库状态git status
          说明: 初始化仓库后默认工作在master分支,当工作区与仓库区不一致时会有提示.
        • 将工作内容记录到暂存区git add [files..]
          # 将所有文件(不包含隐藏文件)记录到暂存区
          git add *
        • 取消文件暂存记录git rm --cached [file]
        • 设置忽略文件GITa项目目录中添加.gitignore文件方式,规定相应的忽略规则,管理项目中文件 的忽略行为.(.gitignore)是可以提交到公有仓库中,为所有开发者共享一套定义好的忽略规则.
          .gitignore语法:每一行指定一个忽略规则..gitignore忽略规则:

          file 表示忽略file文件
          *.a 表示忽略所有.a结尾的文件
          !lib.a 表示除lib.a除外
          build/ 表示忽略build/目录下所有文件
        • 将文件 同步到本地仓库git commit [file] -m [message]
          说明:
          -m 表示添加同步信息
          [file] 不加表示同步所暂存记录的文件
        • 查看commit日志记录git log
        • 将暂存区或某个commit点文件恢复到工作区git checkout [commit] -- [file]
        • 移动或者删除文件git mv [file] [path]
          git rm [files]
    3. 版本控制
      • 退回到上一个commit节点git reset --hard HEAD^
        说明:
        一个^表示回退1个版本,依次类推.
        回退之后工作区会自动和当前commit版本保持一致.
      • 返回到指定的commit_id节点git reset --hard [commit_id]
      • 查看所有操作记录get reflog
        注意: 最上面的为最新记录,可以利用commit_id去往任何操作位置
      • 创建标签标签: 在项目重要节点添加快照,保存当时工作状态,一般用于版本的迭代.git tag [tag_name] [commit_id] -m [message]
        说明:
        commit_id 不写默认为最新commit_id位置
        message 也可以不写
      • 查看标签git tab 查看标签列表
        git show [tag_name] 查看标签详细信息
      • 去某个标签节点git reset --hard [tag]
      • 删除标签git tag -d [tag]
  2. 分支管理
    1. 基本概念
      • 定义: 分支即每个人在原有代码(分支)的基础上建立自己的工作环境,完成单独开发,之后再向主分支统一合并工作内容.
      • 好处:
        • 各自开发互不干扰
        • 防止误操作对其他开发者的影响
    2. 基本操作
      1. 查看现有分支git branch
        说明: 前面带* 的分支表示当前工作分支
      2. 创建分支git branch [branch_name]
        说明: 基于a分支创建b分支,此时b分支拥有a分支全部内容.在创建分支时最保持主版本"干净"状态.
      3. 切换工作分支git checkout [branch]
        说明: 2,3 可以同时操作,即创建并切换分支
        ** git checkout -b [branch_name] 可以同时完成创建分支和切换分支
      4. 合并分支git merge [branch]
        ** 分支的合并一般都 是子分支向父分支中合并
      5. 删除分支git branch -d [branch] 删除分支
        git branch -D [branch] 删除没有被合并的分支
    3. 分支冲突问题合并过程中,原来的父分支发生了变化.在合并的过程中就会产生冲突.
      • 冲突情形1-原来分支中增加了新文件 或者原有文件发生变化
        • 此时ctrl+0写入,回车,再ctrl+x离开.
        • 若提示commit合并,此时直接commit操作就可
      • 子分支和父分支修改了相同文件
        • 这时需要手动修改文件后,再add,commit提交
      • 总结:
        • 降低耦合度,不周分支只编写自己模块
        • 做好分工,避免多个分支修改同一文件
  3. GitHub使用
    1. 远程仓库远程主机上的分布式结构的GIT仓库.
    2. GitHub开源项目社区网站,全球最多的开源项目仓库.
    3. GitHub网址:github.com
    4. 获取项目git clone https://github.com/xxxxx注意:
      1. 获取到本地的项目会自动和GitHub远程仓库建立连接.
      2. GitHub提供两种地址连接方式,http/SSH方式.
    5. 创建自己的项目仓库
      1. 添加SSH密钥# 建立密钥信任
        1.将本地电脑的ssh公钥内容复制到github
        2.github上选择菜单:
        setting->ssh and GPG keys -> new ssh key
      2. 通过菜单在GitHub网站上创建新的仓库
      3. 获取HTTP或者SSH的远程访问连接
      4. 本地使用git命令连接仓库# http连接每次需要使用用户密码;个人固定计算机建议使用SSH方式
        git remote add origin git@github.com:/XXX/xxx.git
      5. 查看连接远程仓库名称git remote
      6. 断开远程仓库连接git remote rm [origin]
      7. 最后可通过在github网站"settings"菜单删除整个仓库.
    6. 远程仓库操作命令
      1. 本地分支推送到远程仓库# 将master分支推送给origin主机远程仓库,
        -U 表示与远程对应分支 建立自动关联
        git push -u origin master
        # 删除向远程仓库推送分支
        git push origin [:branch]
      2. 推送代码到远程仓库# 本地代码有修改项推送给远程仓库
        git push
      3. 推送旧的版本# 如果本地的代码有修改项推送给远程仓库
        git push --force origin
      4. 从远程获取代码git pull

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注