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…...
java_网络服务相关_gateway_nacos_feign区别联系
1. spring-cloud-starter-gateway 作用:作为微服务架构的网关,统一入口,处理所有外部请求。 核心能力: 路由转发(基于路径、服务名等)过滤器(鉴权、限流、日志、Header 处理)支持负…...
ESP32读取DHT11温湿度数据
芯片:ESP32 环境:Arduino 一、安装DHT11传感器库 红框的库,别安装错了 二、代码 注意,DATA口要连接在D15上 #include "DHT.h" // 包含DHT库#define DHTPIN 15 // 定义DHT11数据引脚连接到ESP32的GPIO15 #define D…...
Auto-Coder使用GPT-4o完成:在用TabPFN这个模型构建一个预测未来3天涨跌的分类任务
通过akshare库,获取股票数据,并生成TabPFN这个模型 可以识别、处理的格式,写一个完整的预处理示例,并构建一个预测未来 3 天股价涨跌的分类任务 用TabPFN这个模型构建一个预测未来 3 天股价涨跌的分类任务,进行预测并输…...
Python爬虫(二):爬虫完整流程
爬虫完整流程详解(7大核心步骤实战技巧) 一、爬虫完整工作流程 以下是爬虫开发的完整流程,我将结合具体技术点和实战经验展开说明: 1. 目标分析与前期准备 网站技术分析: 使用浏览器开发者工具(F12&…...
【HTTP三个基础问题】
面试官您好!HTTP是超文本传输协议,是互联网上客户端和服务器之间传输超文本数据(比如文字、图片、音频、视频等)的核心协议,当前互联网应用最广泛的版本是HTTP1.1,它基于经典的C/S模型,也就是客…...
Android第十三次面试总结(四大 组件基础)
Activity生命周期和四大启动模式详解 一、Activity 生命周期 Activity 的生命周期由一系列回调方法组成,用于管理其创建、可见性、焦点和销毁过程。以下是核心方法及其调用时机: onCreate() 调用时机:Activity 首次创建时调用。…...
GruntJS-前端自动化任务运行器从入门到实战
Grunt 完全指南:从入门到实战 一、Grunt 是什么? Grunt是一个基于 Node.js 的前端自动化任务运行器,主要用于自动化执行项目开发中重复性高的任务,例如文件压缩、代码编译、语法检查、单元测试、文件合并等。通过配置简洁的任务…...
【SpringBoot自动化部署】
SpringBoot自动化部署方法 使用Jenkins进行持续集成与部署 Jenkins是最常用的自动化部署工具之一,能够实现代码拉取、构建、测试和部署的全流程自动化。 配置Jenkins任务时,需要添加Git仓库地址和凭证,设置构建触发器(如GitHub…...
MFE(微前端) Module Federation:Webpack.config.js文件中每个属性的含义解释
以Module Federation 插件详为例,Webpack.config.js它可能的配置和含义如下: 前言 Module Federation 的Webpack.config.js核心配置包括: name filename(定义应用标识) remotes(引用远程模块࿰…...
2.2.2 ASPICE的需求分析
ASPICE的需求分析是汽车软件开发过程中至关重要的一环,它涉及到对需求进行详细分析、验证和确认,以确保软件产品能够满足客户和用户的需求。在ASPICE中,需求分析的关键步骤包括: 需求细化:将从需求收集阶段获得的高层需…...
