Git和GitFlow分支管理

Git和GitFlow分支管理

1. Git和SVN的区别

SVN是集中式版本控制系统

Git是分布式版本控制系统,有远程仓库,本地仓库,分支组成。

2. Git本地仓库和工作区

远程仓库——保存我们代码的服务器

本地仓库——连接本地代码和远程代码的枢纽,不能联网时本地代码可以先提交到本地仓库

暂存区——提交代码,解决冲突的中转站

工作区——我们创建的工程文件,在编辑器中可直观显示

分支——就是从主线上分离出来的一个快照

3.Git基础命令流程图

Clone:克隆远程仓库到本地目录,并初始化本地工作区

Fetch:从远程仓库获取最新内容到本地仓库

Push:推送本地版本库内容到远程仓库

Pull = Fetch + Merge:拉取远程仓库内容并合并到本地工作区,一般建议分开使用

在这里插入图片描述

4. Git常用命令

创建版本库
命令功能
git clone <url>克隆远程版本库
git init初始化本地版本库
修改和提交
命令功能
git status查看状态
git diff查看变更内容
git add .跟踪所有改动过的文件
git add <file>跟踪指定的文件
git mv <old> <new>文件改名
git rm <file>删除文件
git rm --cached <file>停止跟踪文件但不删除
git commit -m "commit message"提交所有更新过的文件
git commit --amend修改最后一次提交
查看提交历史
命令功能
git log查看提交历史
git log -p <file>查看指定文件的提交历史
git blame <file>以列表方式查看指定文件的提交历史
撤销
命令功能
git reset --hard HEAD撤销工作目录中所有未提交文件的修改内容
git checkout HEAD <file>撤销指定的未提交文件的修改内容
git revert <commit>撤销指定的提交
分支与标签
命令功能
git branch显示所有本地分支
git checkout <branch/tag>切换到指定分支或标签
git branch <new-branch>创建新分支
git branch -d <branch>删除本地分支
git tag列出所有本地标签
git tag <tagname>基于最新提交创建标签
git tag -d <tagname>删除标签
合并与衍合
命令功能
git merge <branch>合并指定分支到当前分支
git rebase <branch>衍合指定分支到当前分支

rebase——把分叉的提交历史“整理”成一条直线,看上去更直观

远程操作
命令功能
git remote -v查看远程版本库信息
git remote show <remote>查看指定远程版本库信息
git remote add <remote> <url>添加远程版本库
git fetch <remote>从远程库中获取代码
git pull <remote> <branch>下载代码及快速合并
git push <remote> <branch>上传代码及快速合并
git push <remote> : <branch/tag-name>删除远程分支或标签
git push --tags上传所有标签

5. GitLab远程仓库管理流程

  • GitLab注册登录
  • 远程仓库创建
  • 分支创建,默认分支设置
  • 分支权限配置
  • 克隆远程仓库
  • 本地文件添加、修改、提交、推送、拉取等操作

6. Git分支策略

主分支

在远程中央代码库中一直存在的分支。不允许开发者在主分支直接进行修改和提交。

Master(生产分支)

生产环境代码中心分支,每次发布成功上线后都打上标签

Develop(开发分支)

测试环境代码中心分支,功能开发完成后,合并Feature功能分支代码到此分支进行测试。

辅助分支

是发挥相应的功能后就被删除的临时分支。

Feature(功能分支)

从Master分离出来的被用于开发特定功能的分支。功能开发结束后被合并到Develop中。上线成功后,可以删除此功能分支。不允许直接拉取Devlop分支。

Release(发布分支)

从Master分离出来的为发布做准备的分支。在发布的准备工作期间,为了避免多余的 Feature混杂到发布中而建立的分支。发布结束后被合并到 Master 分支。

7. GitFlow 工作流程

  • 初始化项目(init gitflow):初始化Master主分支从Master复制一个Develop主分支
  • 功能开发:从Master复制一个Feature(功能)分支,开始开发
  • 功能测试:在Develop主分支上合并要测试的Feature功能分支
  • 版本发布:从Master复制一个Release分支,然后合并一个或多个Feature功能分支到Release(发布)分支,成功上线后,合并到Master主分支,然后打上标签Tag版本号,最后,删除发布分支

在这里插入图片描述

8. IDEA如何使用Git进行代码管控

  • IDEA导入Git项目
  • IDEA分支切换
  • IDEA代码修改、提交、push、pull
  • IDEA代码提交回退revert和revert commit
    ,合并到Master主分支,然后打上标签Tag版本号,最后,删除发布分支

8. IDEA如何使用Git进行代码管控

  • IDEA导入Git项目
  • IDEA分支切换
  • IDEA代码修改、提交、push、pull
  • IDEA代码提交回退revert和revert commit
  • IDEA不同分支代码合并和cherrypick
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值