当前位置: 首页 > news >正文

git 提交代码流程

1. 公-->私-->本-->私-->公

缺点:多了一个步骤,就多了一次申请时间,首先在公仓申请合并到私仓,私仓同意合并,获取到公仓最新版本;

优点:不容易污染公仓

8552da0703f74f8ca7dd359522f43404.png

2. 公-->本-->私-->公 

优点:简化操作,因为每次都可以直接pull都是最新代码

缺点:因为放开了公仓的权限,如果直接push到公共仓库躲过代码公审,容易造成公仓污染

 

4b33f1f9f6444920befacf6834ea730c.png

公->本->私->公     (分支名称:241107)

 

# 先将本地修改暂存起来,idea 里修改文件由  蓝-->白

git stash save "暂存2024110701"

# 拉取公仓最新代码,期间要数据账号密码

git pull origin 241107

# 恢复自己最新修改的文件,idea 里修改文件由  白-->蓝

git stash pop

# 查看修改文件,显示红色相对路径

git status

# 复制红色修改的文件相对路径,添加到暂存区,(如果修改文件多,一个一个添加)

git add <红色相对路径>

# 检查是否add完毕,红色相对路径应该全变绿色

git status

# 提交暂存区

git commit -m "提交注释"

# 推送到私仓(person名称是我自定义的,它映射一个仓库地址,idea的可以配置的)

b8b51cf0530e41ba8ddaf38dbd7d65b5.png

git push person 241107

# 最后在私仓的web页面申请合并到公仓,公仓审核员审核通过,就可以合并

 

总结:企业里一般采用 第一种方式,还有是下面这种,与上面两种主要区别是多了一个私仓

c24f298acfc74b24b017564c0a490e55.png

3. 代码回滚

 参考: Git恢复之前版本的两种方法reset、revert(图文详解)【学习】_git还原到上一个版本CSDN博客

3.1 reset重置

适用场景:本地仓库恢复到指定版本,且这个版本之后的提交都不要了,能不用就不用!必须用要慎用!

例子:个人提交垃圾到远程仓库而且量比较大,如那些什么说明文件等,不好通过手动删除垃圾的方式解决问题

7219255d687e4deb8dddba71c356c395.png

# 查看版本号 (idea也可以操作,自行百度)

git log

 

# 重置指定版本

     --hard 本地仓库回退指定版本,工作区和暂存区的改动都会被删除

     --soft  本地仓库回退指定版本,但是工作区改动会保留

git reset --hard <版本号>

 

# 使用-f 强制低版本覆盖高版本 (如果已经提交到远程,需要更新远程)

git push -f  origin <分支名称>

 

3.2 revert 撤销 (更符合实际场景,推荐使用)

适用场景:要撤销之前某个bug版本2,又不想把后面版本3删除

原理:生成个新的版本4,版本4会保留bug版本2后面的提交,但是撤销了bug版本2

23e44a2053264e69ab3b2e50d89a3ae6.png

# 查看版本号 (idea也可以操作,自行百度)

git log

# 撤销

git revert -n <bug版本号>

 

 


http://www.mrgr.cn/news/67481.html

相关文章:

  • 内网环境下CodeGPT代码助手配置
  • sqlcoder70b模型,如果需要训练或者微调需要什么样的GPU机器
  • 8. 数据结构——邻接表、邻接矩阵的基本操作
  • 计算机网络-以太网小结
  • 【自用】时序数据库、时序数据库,IOTDB官方文档笔记
  • 【笔记】变压器-热损耗-频响曲线推导 - 02 预备知识
  • 【SQL server】数据库远程连接配置
  • 单细胞cluster/细胞亚群的标志识别工具—FindAllmarkers/presto/COSG/starTracer算法学习
  • java-方法以接口入参注意要点
  • 解密可观测行业中的语义规范 — 代码世界中的“语言艺术”
  • 应用冷启动详细流程分析(附源码)
  • 基于Zynq FPGA的雷龙SD NAND存储芯片性能测试
  • 正则表达式 - 简介
  • 基于Javaee实现的类星巴克订餐系统+项目源码+文档说明
  • 有Bootloader,为什么还要BROM?
  • 【comfyui教程】ComfyUI有趣工作流推荐:快速换脸,创意随手掌握!
  • 数据质量的影响因素
  • Windows安装配置node.js
  • 体感游戏开发:硬件配置的基本要求
  • C++ STL标准模板库详解:深入探索算法、容器与迭代器
  • npm 和 node 总结
  • ThreadLocal 详解——这一次彻底掌握
  • 使用CentOS宝塔面板docker搭建EasyTier内网穿透服务
  • 最新榜单!国内免费好用的OA协同软件前十名
  • 构造一个具有特定边界和向量场性质的紧致4维流形,并计算其上曲率形式的特定积分
  • ORACLE RAC用DNS服务器的配置