git 实际开发中使用-解决问题
前言
-
git代码版本管理工具,打破常规的物理传输,更新,合并,回滚提高了开发效率和可追溯性。
-
网上的资料会把所有的命令都很全也很多,导致对刚刚了解的同学不友好,很难实际使用。
-
每个人都有自己使用git的习惯,本篇文章以自己遇见的问题出发,供大家参考使用。
-
这篇文章主要记录自己实际开发中的git基本使用,原因和解决。
实际使用
1.第一次开发建立自己分支-创建自己分支一般自己名字首字母
// 我们在本地创建自己分支-创建并切换到这个分支(他会把主分支代码带过来),这个时候你就和当前主分支代码一样
git checkout -b xxx
// 当我们开发完一个功能,或者一个模块就可以提交了
git add .
// 计较到暂存区的备注信息-写清楚方便后期出问题回滚
git commit -m "你本次提交的代码备注信息"
// 提交到远程仓库-第一次提交会报错正常,复制它提供的命令即可
git push
2.把自己分支代码复制到主分支比如-master
// 切换到主分支master
git checkout master
// 拉取主分支远程仓库代码-因为多人开发,你要保证自己本地主分支要和远程主分支代码一样,才不会出错
git pull
// 把需要合并的分支合并过来
git merge xxx
// 这个时候不出意外一般都会出意外,不要慌。
// 第一种情况,会出现一个弹框,第一行是黄色的字有你分支名字,下面有几行看不懂的文字。
// 这主要是因为本地仓库的文件跟远程端文件有冲突造成的,注释为什么合并。先不要:wq
// 我们应该在英文输入法的前提下。按下键盘i键,发现第一行信息可以删,备注本次合并原因
// 完了之后按下ESC键,输入:wq 按下回车键,最后在提交记录中就会看见这次备注信息。
// 第二种情况 代码冲突,会在git窗口命令最后面(master/忘记了)形式出现,解决冲突即可。
// 来到vscode 工作树,(左边第三个),点击屏幕是分成3份,上面2份,下面一份(是最终结果)
// 我们可以点击上面2份中一个自己想要代码,右上角3个点使用代码,点击下面的接受合并,就解决完一个冲突。
// 解决完之后我会提交记录一次
git add .
git commit -m "解决什么功能合并冲突"
// 将本地主分支提到远程,在远程提交记录中就会发现刚刚的提交记录
git push
3.远程分支强制覆盖本地分支
// 把远程dev分支覆盖到本地dev分支
git reset --hard origin/dev
// 把远程分支覆盖到本地任意一个分支-可以随意组合
// git pull --force <远程主机名> <远程分支名> :<本地分支名>
git pull --force origin dev:dev
4.删除远程分支或本地分支
// 删除本地分支-删除本地dev分支
git branch --delete dev
//简写
git branch -d dev
// 删除远程仓库分支-删除远程dev分支,也会删除追踪分支
git push origin --delete dev
5.代码版本回滚-来到需要回滚的分支(比如qh)
// 仔细查看本地commit提交记录,确定好要回滚版本
// 查看本地详细的提交记录-会有一长串版本号
git log
// 查看本地简略的提交记录-会有版本号
git reflog
// 确定好自己要回滚的版本-选择当前的版本号当前代码回滚之后还在代码就会在当前版本
// 他是有2种方式回滚-如果是代码错了救不了了回滚肯定是使用第二个--hard不要错误代码
// git reset --soft 版本号-把指针回退到指定邦本,会保留之前代码
// git reset --hard 版本号-把指针回退到指定邦本,代码不保留(回滚版本之后写的代码都会删除)
git reset --hard 版本号
// 此时需要把本地回滚分支代码同步到远程仓库(qh远程仓库名)
git push -f origin qh
// 简写 git push -f
// 此时远程的分支提交记录也会覆盖掉,就完成代码版本回滚
6.其他命令
// 拉取远程仓库代码-第一次拉取
git clone 远程仓库地址
// 列出本地存在分支,当前分支用*标记
git branch
// 查看远程仓库分支列表
git branch -r
// 查看远程仓库和本地仓库所有分支
git branch -a
// 查看本地分支的最后一次提交
git branch -v
// 查看本地哪些分支已经合并到当前分支
git branch --merged
// 查看所有未合并工作的分支
git branch --no -merged
注意:
1.git操作是不允许键盘的复制粘贴,可以使用鼠标的复制粘贴。
2.什么时候都要注意键盘的中英文输入法格式。
2.每次提交都应该写清楚为什么提交,为什么合并(最好是一个功能或者页面),方便回滚。
3.不管什么时候,报错,冲突,先不要慌。先翻译一下,看不懂就直接复制去百度搜,看是什么。
4.只要是有提交记录,和代码。代码崩了不要急,怎么样都可以回滚过去的。
总结:
经过这一趟流程下来相信你也对 git 实际开发中使用-解决问题 有了初步的深刻印象,但在实际开发中我 们遇到的情况肯定是不一样的,所以我们要理解它的原理,万变不离其宗。加油,打工人!
什么不足的地方请大家指出谢谢 -- 風过无痕
相关文章:
git 实际开发中使用-解决问题
前言 git代码版本管理工具,打破常规的物理传输,更新,合并,回滚提高了开发效率和可追溯性。 网上的资料会把所有的命令都很全也很多,导致对刚刚了解的同学不友好,很难实际使用。 每个人都有自己使用git的习…...
新星计划·2023-第1期 - Python赛道报名入口 -〖你就是下一个新星〗
↓↓↓报名方式:(下滑到本页面底部)重要提醒:这里是 新星计划2023-第1期 - Python赛道报名入口,一经报名,不可更换。报名入口点击此处跳转 一、新星计划 新星计划是一个以发掘潜力新人、培养优质博主为目…...
Android LowMemoryKiller概述
Agenda Low memory killer 概述 内核空间LMK ULMK‐vmpressure ULMK‐PSI Low memory killer 概述 lowmemorykiller的作用就是当内存比较紧张的时候去及时杀掉一些对用户来说不那么重要的进程,回收内存,保证手机的正常运行。安卓平台lowmemorykiller机…...
特殊操作流——案例:游戏次数
需求:请求程序实现猜数字小游戏只能试玩三次,如果还想玩,提示:游戏已经结束,想玩请充值(www.itcast.cn) 思路: 写一个游戏类,里面有一个猜数字的小游戏 写一个测试类&am…...
git clone connect to gitlab sign in token弹窗让我输入用户名和密码
系列文章目录 文章目录系列文章目录前言前言 当我使用git bash输入命令:git clone https://gitlab.freedesktop.org/raqm/raqm.git libraqm 弹窗 ASUSLAPTOP-0R30I78P MINGW64 /e/krita-dev $ git clone https://gitlab.freedesktop.org/raqm/raqm.git libraqm C…...
【Blender】如何在Blender中添加HDRI环境贴图
什么是HDRI环境贴图 环境贴图或HDRI贴图是在Blender中照亮3D场景并实现逼真效果的最有效和最快捷的方法之一。 HDRIs本质上是现实世界照明的快照,其中包含高动态范围成像(HDRI)的准确照明细节。HDRI是一个包含亮度信息(从暗…...
前端监控指的是什么?
前端监控分为三个方面: 异常监控(监控前端页面的报错)性能监控(监控页面的性能)用户行为监控(监控用户的行为,计算PV、UV、在线时间等、数据监控即我们常说的埋点 例子1 在后端突然上线了某个需…...
.net core 面试题 2023
文章目录1. 什么是 ASP.net core2. .net 术语3. 托管资源 和 非托管资源4. GC 和 垃圾回收5. .net中所有类的基类6. 如何实现对象的深拷贝7. 依赖注入,为什么使用依赖注入8. IOC容器的注入方法9. ASP.net core 中 服务生命周期10. scoped的 service 可以注入到 sing…...
和ChatGPT关于Swing music的一场对话(上篇)
什么是 Swing Music ? Swing Music 是一款漂亮的自托管音乐播放器,适用于您的本地音频文件。就像一个更酷的 Spotify …但带上你自己的音乐。 第一次在 reddit 上看到 Swing Music,就被其 UI 吸引了 但源码站点的releases 中只有 windows 和 …...
java版工程项目管理系统源码 Spring Cloud+Spring Boot+Mybatis+Vue+ElementUI+前后端分离 功能清单
ava版工程项目管理系统 Spring CloudSpring BootMybatisVueElementUI前后端分离 功能清单如下: 首页 工作台:待办工作、消息通知、预警信息,点击可进入相应的列表 项目进度图表:选择(总体或单个)项目显示1…...
debian 10 扩展分区容量
debian 10 扩展分区容量1、扩展分区原因2、添加一块磁盘3、命令记录3.1、新增加的磁盘是/dev/sdb3.2、使用磁盘/dev/sdb 创建物理卷3.3、 把物理卷/dev/sdb加入到卷组debian-vg中3.4、查看物理卷、逻辑卷3.5、扩展逻辑卷/tmp3.6、逻辑卷组debian-vg 空余空间被用掉10g 还剩90g可…...
【无功优化】基于改进遗传算法的电力系统无功优化研究【IEEE30节点】(Matlab代码实现)
💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…...
LeetCode 218. 天际线问题
城市的 天际线 是从远处观看该城市中所有建筑物形成的轮廓的外部轮廓。给你所有建筑物的位置和高度,请返回 由这些建筑物形成的 天际线 。 每个建筑物的几何信息由数组 buildings 表示,其中三元组 buildings[i] [lefti, righti, heighti] 表示…...
Logstash:使用自定义正则表达式模式
有时 Logstash Grok 没有我们需要的模式。 幸运的是我们有正则表达式库:Oniguruma。在很多时候,如果 Logstash 所提供的正则表达不能满足我们的需求,我们选用定制自己的表达式。 定义 Logstash 是一种服务器端数据处理管道,可同时…...
常见的一致性问题及解决
什么是一致性 一致性问题主要是因为分布式系统中的多个节点之间可能存在网络延迟、故障等原因导致的。具体而言,分布式系统中的数据一致性问题可以分为以下几种类型: 强一致性:指在任何时间点,所有节点中的数据都是一致的。这种…...
vue下载文件
注意请求时加入:responseType: bloburl:写全了,因为前后端端口号不同downloadImage(imgUrl) {let formData new FormData();formData.append(fileName, this.getFilename(imgUrl)); // 用于后端下载文件的路径axios.post(http://localhost:8…...
人人都是数据分析师-数据分析之数据图表可视化(下)
当前的BI报表、运营同学的汇报报告中数据图表大多为 表格、折线图、柱状图和饼图,但是实际上还有很多具有代表性的可视化图表,因此将对常见的可视化图表进行介绍,希望这些图表可视化方法能够更好的提供数据的可用性。 人人都是数据分析师-数…...
考勤、充电,绑身份,你的人员定位系统就缺它了!
我们做人脸识别智能发卡充电柜是要解决什么问题? (1)工地、港口等场景,人员流动大,管理难 在工地、港口等场景,人员组成通常比较复杂。有来自施工方、客户、各劳务队、各管理层的人员,以及来自…...
RocketMQ水平扩展及负载均衡详解
文章目录 Broker端水平扩展Broker负载均衡commit logProducer负载均衡Consumer负载均衡集群模式广播模式RocketMQ是一个分布式具有高度可扩展性的消息中间件。本文旨在探索在broker端,生产端,以及消费端是如何做到横向扩展以及负载均衡的。 Broker端水平扩展 Broker负载均衡…...
java接口笔记
关键字:interface 定义形式:interface 接口名 { 接口体 } 细节: 1.接口里的方法可以为抽象方法,静态方法,默认方法(default 关键字) 2.接口里的方法只能是public ,可以不用写&a…...
基于算法竞赛的c++编程(28)结构体的进阶应用
结构体的嵌套与复杂数据组织 在C中,结构体可以嵌套使用,形成更复杂的数据结构。例如,可以通过嵌套结构体描述多层级数据关系: struct Address {string city;string street;int zipCode; };struct Employee {string name;int id;…...
rknn优化教程(二)
文章目录 1. 前述2. 三方库的封装2.1 xrepo中的库2.2 xrepo之外的库2.2.1 opencv2.2.2 rknnrt2.2.3 spdlog 3. rknn_engine库 1. 前述 OK,开始写第二篇的内容了。这篇博客主要能写一下: 如何给一些三方库按照xmake方式进行封装,供调用如何按…...
React Native 导航系统实战(React Navigation)
导航系统实战(React Navigation) React Navigation 是 React Native 应用中最常用的导航库之一,它提供了多种导航模式,如堆栈导航(Stack Navigator)、标签导航(Tab Navigator)和抽屉…...
【WiFi帧结构】
文章目录 帧结构MAC头部管理帧 帧结构 Wi-Fi的帧分为三部分组成:MAC头部frame bodyFCS,其中MAC是固定格式的,frame body是可变长度。 MAC头部有frame control,duration,address1,address2,addre…...
网络编程(UDP编程)
思维导图 UDP基础编程(单播) 1.流程图 服务器:短信的接收方 创建套接字 (socket)-----------------------------------------》有手机指定网络信息-----------------------------------------------》有号码绑定套接字 (bind)--------------…...
【Oracle】分区表
个人主页:Guiat 归属专栏:Oracle 文章目录 1. 分区表基础概述1.1 分区表的概念与优势1.2 分区类型概览1.3 分区表的工作原理 2. 范围分区 (RANGE Partitioning)2.1 基础范围分区2.1.1 按日期范围分区2.1.2 按数值范围分区 2.2 间隔分区 (INTERVAL Partit…...
CMake控制VS2022项目文件分组
我们可以通过 CMake 控制源文件的组织结构,使它们在 VS 解决方案资源管理器中以“组”(Filter)的形式进行分类展示。 🎯 目标 通过 CMake 脚本将 .cpp、.h 等源文件分组显示在 Visual Studio 2022 的解决方案资源管理器中。 ✅ 支持的方法汇总(共4种) 方法描述是否推荐…...
Java编程之桥接模式
定义 桥接模式(Bridge Pattern)属于结构型设计模式,它的核心意图是将抽象部分与实现部分分离,使它们可以独立地变化。这种模式通过组合关系来替代继承关系,从而降低了抽象和实现这两个可变维度之间的耦合度。 用例子…...
逻辑回归暴力训练预测金融欺诈
简述 「使用逻辑回归暴力预测金融欺诈,并不断增加特征维度持续测试」的做法,体现了一种逐步建模与迭代验证的实验思路,在金融欺诈检测中非常有价值,本文作为一篇回顾性记录了早年间公司给某行做反欺诈预测用到的技术和思路。百度…...
elementUI点击浏览table所选行数据查看文档
项目场景: table按照要求特定的数据变成按钮可以点击 解决方案: <el-table-columnprop"mlname"label"名称"align"center"width"180"><template slot-scope"scope"><el-buttonv-if&qu…...
