1、git一款版本控制工具

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

2、最常使用git指令

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

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

0

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

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

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

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

0

merge操作后:

0

rebase操作后:

0

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是大多数公司选择一套开发流程

首先有四个特性分支

0

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

注意

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

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

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

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

hotfix分支

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

0

总结

dev:开发环境,从feature去merge

test测试环境,从feature去merge

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

master:生产环境,从feature去merge

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

hotfixbug修复分支,从master拉取

原文地址:https://blog.csdn.net/m0_61982496/article/details/134705452

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任

如若转载,请注明出处:http://www.7code.cn/show_46122.html

如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱suwngjj01@126.com进行投诉反馈,一经查实,立即删除

发表回复

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