美文网首页
实际项目中一般使用到的git知识

实际项目中一般使用到的git知识

作者: storyWrite | 来源:发表于2024-01-05 13:58 被阅读0次

1.项目上线分支管理流程

yuque_diagram.jpg
图片压缩太厉害有些模糊 700k 压缩到20多k
清晰些的图片地址https://project.zdzspace.cn/test-vuekey

2.一些常用的git命令

  • git fetch 拉取远程仓库最新代码 但是不合并到本地分支
  • git merge feature-a 用于合并本地分支feature-a到当前分支 常用
  • gti pull origin feature-a 合并远程仓库分支feature-a到当前分支(未上线前所有分支统一可以直接通过这种方式本地解决冲突再push到远程) (仓库名origin 如果有多个仓库origin 要换成对应的仓库) 常用
  • git pull 拉取原型仓库 当前分支的最新代码 (常用)
  • git push 推送当前分支到远程仓库,如果未发布则会进行分支发布
  • git push -f 强制推送至远程仓库(会覆盖远程代码与本地当前代码一致) 慎用 自己分支只有自己使用可以根据需求强推,如果是别人的分支,要确保不会覆盖别人提交的代码,只有当自己本地的分支提交错误(例如提交信息想修改,或者有的文件不想提交)会撤销上次提交然后重新提交,覆盖远程记录
  • git cherry-pick 对应提交的hash值,可以合并指定提交代码到当前分支,一般未某个分支想要弃用但是想保留里面部分代码或者上线功能临时只想要其中部分功能(使用较少)
  • git reset --soft HEAD^ 用于撤销上一次提交文件会重新变为变更待提交状态 我一般使用vscode中的可视化进行操作撤销上次提交


    image.png
  • git revert hash值 撤销指定提交,它相当于手动
    假设a版本内容为 a1,提交b版本为a2, revert b 版本会新增一次提交 将a2改为a1,也就是说他相当于手动去还原代码,会存在代码提交记录,而git reset --soft HEAD^ 会把b版本的记录删除掉


    第一次revert
    第二次revert

3.冲突

之所以出现冲突,是因为两个人同时修改了同一个文件的同一个地方
比如 文件a.text 内容为a A成员修改内容为a1 B成员修改内容为a2,A与B都提交了pr/mr(pull request(git huv)/merge request (git lab等)合并请求)
如果先合并了A 则B的代码此时就是冲突的,如果县合并了B则A就是冲突的
冲突是因为 对于内容a 分别由两个修改版本 一个为a1 一个为a2,而在提交记录中a1与a2的修改都是基于a来的,因此对于git系统来说,他不能确定采用a1还是a2是对的,因此会产生冲突,交由开发人员来决定采用那个版本

  • 解决流程
    • 如果所有代码未上线,dev,sit,master代码一致,可以直接git pull origin dev(假设dev冲突) 直接在本地合并完成 然后push到远程就可以继续合并B的代码了
    • 或者从dev拉取一个conflict解决分支,本地切换到conflict分支,直接merge B的代码,本地解决完冲突,然后推送到远程.取消原来的合并请求,用这个conflict分支合并到dev(当代码上线之后就只能采用这种方式,不能直接merge dev或者sit代码了,因为这样会导致不需要上线或者未完成的功能混杂到当前分支)

相关文章

  • git常用命令

    在前端实际开发中,git常用命令: 首先复制粘贴SSH地址: git clone SSH地址 项目一般有maste...

  • 100 - 如何将设计思想、原则、模式等应用到项目中?

    本文我们来聊一聊,如何将设计思想、原则、模式等理论知识应用到实际的项目开发中。让大家能对学到的知识更好的应用到项目...

  • 关于GitHub的使用

    什么是GitHub 在我们实际开发中,经常需要用到Git,我们一般都是直接选择 downloadzip ,但是有...

  • Git管理项目实战

    学会使用git管理项目非常重要,在实际项目管理中不可避免使用git,理解和实际操作是至关重要的,这篇教程是根据实际...

  • iOS UIImage(RGB)转CVPixelBufferRe

    最近在做一个图像识别的项目,用到了YUV相关知识。实际中,是从视频样本中获取CVPixelBufferRef,然后...

  • (三)Git--文件删除

    在Git中删除也是一个修改操作,我们实际操作如下: 一般情况下,我们直接在文件管理系统中把没用的文件删除了,或者使...

  • Git学习笔记

    在这篇文章中记录项目开发中使用到的git语句 `git rev-parse HEAD` -获取当前commit h...

  • 使用 Jenkins 实现项目自动部署

        一般我们在开发项目时都会用到版本控制工具,常用的如 git,svn 等。但是每次提交代码后,需要登录到项目...

  • 项目实际开发中git的基本使用

    向git上传项目的两种方法 项目已经存在1.先在git上创建远程仓库2.cd 项目所在的目录3.git init ...

  • git rebase -i 合并多次提交

    在实际开发中,经常会需要使用到git合并功能,git rebase可以将多个commit合并成为一个。这里主要介绍...

网友评论

      本文标题:实际项目中一般使用到的git知识

      本文链接:https://www.haomeiwen.com/subject/mmbbndtx.html