git的版本控制流程

这篇具有很好参考价值的文章主要介绍了git的版本控制流程。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

git的版本控制流程,git

1、git是一款版本控制工具

例如我们常用的淘宝,每次升级,版本号就会加一。那么我们怎么控制版本号呢? --使用git。

2、最常使用的git指令

git add . 暂存
git commit -m"***" 提交到本地
git pull 将远程仓库代码下拉到本地
git push 提交到远程仓库

不建议使用【Git Bash】中去输入指令,使用idea 中以及集成好的三个按钮更加快捷方便。

git的版本控制流程,git

从左到右依次是【git pull】拉项目、【commit】暂提交到本地、【git push】提交到远程。

注意:使用最左侧git pull拉项目时,会有Merge和Rebase两个选项,更推荐使用Rebase。Rebase的分支管理比较清晰。

merge:将在子分支的所有提交记录成一次commit,保留在记录中。(下图的E即为该记录)

rebase:不会保留commit记录,直接将分支中的内容排到master的记录之后。

git的版本控制流程,git

merge操作后:

git的版本控制流程,git

rebase操作后:

git的版本控制流程,git

git Merge 和 git Rebase比较

  1. git merge 是将当前分支的提交放在merge分支的前面,而igit rebase是将当前分支的提交放到reabse分支的后面
  2. git merge会在最后增加一个merge的提交记录,而git rebase不会额外增加提交记录
  3. git merge合并之后提交记录是非常复杂的,而使用git rebase合并之后提交记录是线性的
  4. 使用git merge合并之后就不能再回退自己的提交代码了,如果回退则会降merge的内容一同回退了,而git rebase在合并之后可以继续回退自己的提交,而从rebase合进来的代码不受影响
  5. 很明显,dev开发分支适合使用git rebase,r而master主分支则非常适合git merge
  6. master主分支如果使用git rebase的后果是改变了提交历史,比如多人合作时后使用rebase的必须将前面使用过rebase的代码合到自己的前面,导致跟拉出来分支的时候提交历史不一样了,从而会带来各种比较痛苦的提交体验

3、切换分支

当我们本地有文件没有commit,去切换分支的时候(弹框选择Smart Checkout),这笔改动不会因为切换分支而变化。也就是说如果在没有提交的情况下切换分支,你写的东西不会改变。但如果你已经提交了这次改动,那么切换分支后被改动的地方就会切换成新分支的内容。

4、git版本控制流程

ci/cd是大多数公司选择的一套开发流程。

首先有四个特性分支

  • dev分支,对应开发环境(属于程序员开发的,怎么折腾都没事)
  • test分支,对应测试环境
  • pre/release分支,对应预生产环境
  • master分支,对应生产环境

git的版本控制流程,git

  • 当开发新功能时从master拉取并创建一个以feature开头的新分支,例如叫做feature_20230301,这时代码与master相同,在此基础上进行开发。
  • 开发完之后将feature代码merge到dev分支,此时代码便处于开发环境。
  • 如果此时代码自己测试没问题,就将feature代码再merge到测试环境下,交给测试去测。
  • 测试环境通过后才能将feature代码merge到master分支。
  • 再将master代码merge到release预生产,这时你的代码就到达了预生产阶段,而这样做能够使预生产部署的代码来自master分支。
  • 当预生产验证没问题后就可以发布到生产了。

当开发下一个功能时再次从master拉取新分支,重复上边流程,形成一个循环。

注意:

1、所有的改动都是由feature这个小的开发分支去合并。

      为什么不由dev开发分支去合并?

      ----因为可能会出现自测不通过的分支提交到开发分支,那么这笔错误代码就会进入测试环境。

2、所有特性分支不允许push,能push只有feature这个小的开发分支。(方便代码review,merge在小组工作内是需要组长审批的)

hotfix分支

如果master分支去生产了,突然出现异常,需要紧急提一个 hotfix_xxxx 去修复这次报错。接下来按照公司需求,例如直接合并预生产,再合并到master。

git的版本控制流程,git

总结

dev:开发环境,从feature去merge

test:测试环境,从feature去merge

pre:预生产环境,从master去merge,为了验证master代码

master:生产环境,从feature去merge

feature:开发分支----小功能,创建的时候,从master拉取

hotfix:bug修复分支,从master拉取文章来源地址https://www.toymoban.com/news/detail-757653.html

到了这里,关于git的版本控制流程的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Git版本控制——分支

    几乎所有的版本控制系统都以某种形式支持分支。 使用分支意味着可以把工作从开发主线上分离开来进行重大的Bug修改、开发新的功能,以免影响开发主线。 创建并切换一个分支: 不能删除当前分支,只能删除其他分支 当两个分支上对文件的修改可能会存在冲突,例如同时

    2024年01月17日
    浏览(32)
  • 版本控制(Git)

    Fork 本课程网站的仓库 将版本历史可视化并进行探索 是谁最后修改了  README.md 文件?(提示:使用  git log  命令并添加合适的参数) 最后一次修改 _config.yml  文件中  collections:  行时的提交信息是什么?(提示:使用  git blame  和  git show)     使用 Git 时的一个常见错误

    2024年02月20日
    浏览(27)
  • git 版本控制与合并

    - Git是一种分布式版本控制系统,用于跟踪和管理软件开发项目中的代码变更。 - 它允许多人协同工作,记录代码历史变更,并轻松管理多个项目版本。 **Git的主要特点**包括: 1. **分布式系统**:每个开发者都拥有完整的存储库副本,可以在本地进行提交、分支和合并操作,

    2024年02月14日
    浏览(32)
  • 本地版本控制工具Git

    明确设计思路,精准定位问题,对于我们后期理解迭代工程有很大的帮助。 这就是我们常说的 40%设计,20%编写和剩下的40%时间进行调试优化 。 今天为大家带来的是 通过Git工具存储和对比具有阶段性成果的代码版本 。 Q1:代码调通了,但是不知道是哪部分导致问题的存在?

    2024年04月28日
    浏览(33)
  • Git 版本控制系统

    git相关代码 0、清屏幕:clear 1、查看版本号 2、暂存、更改、提交 3、当前项目下暂存区中有哪些文件 4、查看文件状态 5、暂时存储,可以临时恢复代码内容 6、从暂存区移除文件 7、查看版本库提交的 8、回退命令 git reset --soft 版本号(工作区其他文件保留,其他文件未跟踪

    2024年02月11日
    浏览(32)
  • Git—版本控制系统

    版本控制(Revision control)是一种在开发的过程中用于管理我们对文件、目录或工程等内容的修改历史,方便查看更改历史记录,备份以便恢复以前的版本的软件工程技术。 实现跨区域多人协同开发 追踪和记载一个或者多个文件的历史记录 组织和保护你的源代码和文档 统计

    2024年02月09日
    浏览(35)
  • 版本控制-Git/SVN

    1. Git 是一个免费开源的分布式版本控制系统 2. Git 易于学习,占地面积小,性能极快,具有廉价的本地库,方便的暂存区域和多个工作流分支等特性 3. Git 性能优于 Subversion(SVN) , CVS 等版本控制工具 1.版本控制是一种记录工作内容变化,以便将来查阅特定版本修订情况的系统

    2024年02月08日
    浏览(36)
  • Git版本控制

    1. Git 是一个免费开源的分布式版本控制系统 2. Git 易于学习,占地面积小,性能极快,具有廉价的本地库,方便的暂存区域和多个工作流分支等特性 3. Git 性能优于 Subversion(SVN) , CVS 等版本控制工具 1.版本控制是一种记录工作内容变化,以便将来查阅特定版本修订情况的系统

    2024年02月05日
    浏览(27)
  • 【Git】 - 版本控制

    个人简介:Java领域新星创作者;阿里云技术博主、星级博主、专家博主;正在Java学习的路上摸爬滚打,记录学习的过程~ 个人主页:.29.的博客 学习社区:进去逛一逛~ 版本 : 软件版本;(例如:JDK 1.8、MySQL 8.0、IDEA 2022) 文件版本;(作用:保存重要的历史记录、恢复数据

    2024年04月23日
    浏览(19)
  • Git:版本控制工具

    Git是分布式版本控制系统,同时是内容管理系统、工作管理系统等,与Linux命令完全兼容。 与集中式版本控制系统(比如SVN)不同,Git是分布式的,可以通过Git从服务器上把完整的Git仓库克隆到本地。 协同修改 数据备份 版本管理 权限控制 历史记录 将工作区的修改添加(

    2024年01月19日
    浏览(34)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包