git项目管理总结

499 阅读2分钟

项目分支

  1. master:主分支,存储已发布版本源码,不能在此分支开发,在master分支上构建生产版本,发布完打tag
  2. hotfix:修复分支,临时修复线上紧急bug,以主分支为基础新建
  3. test:测试分支:可以在此分支上修复bug,以dev分支为基础新建
  4. dev:开发分支:用于汇总feature分支,只能在此分支上进行合并,不能开发,这个分支一般有一个负责人
  5. feature:模块分支:用于开发某个功能模块

流程

  1. 创建master分支,
  2. 以master为基础创建dev分支
  3. 以dev为基础创建feature分支
  4. feature分支merge到dev
  5. 以dev为基础创建test分支
  6. test测试合格后merge到master分支
  7. 删除没用的feature分支、test分支
  8. 在master分支上打tag
  9. 线上出问题后,以master为基础创建hotfix分支,修改完成merge到dev分支
  10. 如果需要测试,以dev为基础创建test分支
  11. 测试合格,merge到master分支,创建tag,删除test分支

常用功能

配置

  1. 初始化:git init
  2. 下载库:git clone
  3. 当前配置:git config --list
  4. 配置用户名: git config [--global] user.name "[name]"
  5. 配置邮箱: git config [--global] user.email "[email address]"
  6. 列出远程库:git remot show origin

分支

  1. 创建并切换分支:git branch -b [branch-name]
  2. 切换分支: git checkout [branch-name]
  3. 合并分支:git merge [branch-name] 或者 git merge --no-ff [branch-name]
  4. 删除分支: git branch -d [branch-name]

添加,提交

  1. 添加:git add ./
  2. 提交:git commit -m '信息'
  3. 推送:git push
  4. 拉取:git pull
  5. 打标签:git tag v1.0

查看

  1. 列出tag:git tag
  2. 日志:git log
  3. 文件变更:git status
  4. 文件对比:git diff '路径'
  5. 回滚:git reset --hard commit-id
  6. 放弃工作区修改:git checkout .或者放弃某个文件:git checkout '路径'
  7. 暂存:git stash
  8. 取暂存:git stash pop

注意

  1. git reset: 是恢复暂存区;
  2. git reset --hard: 是恢复本地,暂存区与HEAD一致
  3. git merge [branch-name]: 是直接将分支commit信息合并到分支一条直线;
  4. git merge --no-ff [branch-name]:是创建新的节点合并到分支

实际项目

  1. 如果项目不复杂,涉及人数不多的垂直开发:只需master分支与dev分支即可
  2. 如果不在乎历史消息的整洁:可直接merge
  3. 对历史版本比较重要的:需要--no-ff进行新建节点,-squash进行合并节点

持续更新...