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

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.kler.cn/a/383017.html

相关文章:

  • 24 go语言(golang) - gorm框架安装及使用案例详解
  • React第十八节 useEffect 用法使用技巧注意事项详解
  • Vivado常用IP例化2
  • 运动控制卡网络通讯的心跳检测之C#上位机编程
  • MongoDB 常用操作指南(Docker 环境下)
  • 工业摄像机基于电荷耦合器件的相机
  • 递归 != 递龟
  • 和合共赢 丨 广州探迹科技有限公司与泰迪智能科技战略合作签约仪式圆满结束
  • Redis常见面试题(二)
  • 蓝牙协议的前世今生
  • 猫用空气净化器哪个牌子好?求除毛好、噪音小的宠物空气净化器!
  • 华为eNSP:QinQ
  • RTDE确保整个机械臂(包括关节和连杆)都不会进入预设的不安全空间范围
  • 02 高效调优:Oracle内存体系的精细化管理实践
  • 聚观早报 | 比亚迪腾势D9登陆泰国;苹果 iOS 18.2 将发布
  • HDFS和HBase跨集群数据迁移 源码
  • 【PGCCC】Postgresql slru 缓存和存储
  • 基于 Vue3、Vite 和 TypeScript 实现开发环境下解决跨域问题,实现前后端数据传递
  • 【人工智能】图神经网络(GNN)的原理与实现:Python与PyTorch Geometric在社交网络与化学分子建模中的应用
  • 前端八股文(二)CSS 持续更新中。。。
  • C++:继承及其相关问题
  • 国产MCU厂商第三季度取得亮眼成绩!
  • 新能源汽车与公共充电桩布局
  • 小华一级 代理商 HC32F005C6PA-TSSOP20 HC32F005系列
  • Neo4j 和 Python 初学者指南:如何使用可选关系匹配优化 Cypher 查询
  • 摄影 4.8.7.2| 惊艳的摄影和修图软件,含教程和作品欣赏。