git的使用日常习惯规范与一些特殊操作

news2024/9/21 22:44:36

git的使用日常习惯规范与一些特殊操作

  • 操作习惯规范
  • 创建本地新分支,推送新分支到云端仓库
    • 1.创建一个本地的login分支
    • 2.创建新分支后切换到新分支
    • 3.推送新分支到云端
  • git的特殊操作
    • 撤回commit(取消提交到本地版本库的动作,本地工作区写的代码不会丢失)
    • 本地分支合并回滚 (取消merge)
      • 第一步:查看merge操作的上一个提交记录的版本号
      • 第二步:回滚到merge之前的状态

博主 DTcode7 带您 溺亖在知识的海洋里,嘿嘿嘿.~
🐒 个人主页—— DTcode7 的博客 🐒
《微信小程序相关博客》
《Vue相关博客》
《前端开发习惯与小技巧相关博客》
《AIGC相关博客》
《photoshop相关博客》
😚 吾辈才疏学浅,摹写之作,恐有瑕疵。望诸君海涵赐教。望轻喷,嘤嘤嘤 🙈
🕍 愿斯文对汝有所裨益,纵其简陋未及渊博,亦足以略尽绵薄之力。倘若尚存阙漏,敬请不吝斧正,俾便精进!

上回说到:

git提交-分支开发合并-控制台操作

git最常用的命令与快捷操作说明

git控制台-分支的合并与推送

今天我们接着聊git~


操作习惯规范

  • 1、本地开发动手之前,先git pull,拉取远程仓库代码,防止晚上有人提交了代码,跟你本地代码版本不一致。
  • 2、本地开发好后,git add . -----> git commit -m “xx” 然后,再使用一次git pull,拉取远程仓库代码过来比对,防止你开发过程中,有人又提交了代码。如果有冲突就合并,没有就继续下一步。
  • 3、此时就可以git push了,这样操作能最大程度减少代码冲突或者代码覆盖的情况。

注:为什么要在第二步先git commit然后再git pull一次呢?是因为:
commit 是为了告诉 git 我这次提交改了哪些东西,不然你只是改了但是 git 不知道你改了,也就无从判断比较。(比如你现在本地删除一个文件,但是没有add commit 那此时git还是没删除文件前的记录,去pull远程仓库比对还是显示没有异常,但是实际你代码已经改了,只是git没有最新的修改记录而已)
pull是为了本地 commit 和远程commit 的对比记录,git 是按照文件的行数操作进行对比的,如果同时操作了某文件的同一行那么就会产生冲突,git 也会把这个冲突给标记出来

创建本地新分支,推送新分支到云端仓库

一开始,仓库中只有一个默认的master主分支,我们要新开发一个模块,就要新建一个分支出来
在这里插入图片描述

1.创建一个本地的login分支

创建新分支   git checkout -b 分支名

2.创建新分支后切换到新分支

git checkout 分支名    ---》切换分支    
(因为新建分支后,仍然还是在原来的分支,所以要切换分支)
git branch     ----》查看当前所在分支    

在这里插入图片描述
此时,本地就是在新建的这个login分支里了,现在进行

git add .  git commit -m "注释" 
 git push  就会推送到云端中的同名分支名中去

注意:这里是git push 即使此时云端没有对应的分支名(也就是没有使用git push -u origin 分支名 在云端创建并推送这条语句) 推送上去的时候,会自动创建同名分支再推送。
在这里插入图片描述

3.推送新分支到云端

当然,正规一些的步骤是,切换到新分支后,通过:

git push -u origin 新分支名  进行云端的分支创建和推送

在这里插入图片描述
这步推送,同时创建了云端的对应分支,还将本地这个分支推送上去了
在这里插入图片描述


git的特殊操作

撤回commit(取消提交到本地版本库的动作,本地工作区写的代码不会丢失)

git commit -m "新增xx模块" //提交代码到本地仓库里了

此时,想要撤销这次提交,就可以使用:

git reset --soft HEAD^

这样就成功的撤销了最近一次的commit
本操作仅仅是撤回commit操作,写的代码仍然保留


注释:
1、HEAD^的意思:上一个版本,也可以写成HEAD~1 如果你进行了2次commit,想都撤回,可以使用HEAD~2
2、–soft的意思:不删除工作空间改动代码,撤销commit,不撤销git add .
3、如果只是commit注释写错了,只是想改一下注释,只需要:
git commit --amend
此时会进入默认vim编辑器,修改注释完毕后保存就好了(参考上述 特殊提示界面-1)

本地分支合并回滚 (取消merge)

本地代码仓库,合并自己的分支后,想要回退

第一步:查看merge操作的上一个提交记录的版本号

git reflog

在这里插入图片描述

第二步:回滚到merge之前的状态

git reset --hard 版本号

在这里插入图片描述
再次输入git reflog,查看合并记录
在这里插入图片描述
可以看到已经是在adf8749版本了

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1552943.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

verilog设计-cdc:多比特信号跨时钟域(DMUX)

一、前言 多比特一般为数据,其在跨时钟域传输的过程中有多种处理方式,比如DMUX,异步FIFO,双口RAM,握手处理。本文介绍通过DMUX的方式传输多比特信号。 二、DMUX同步跨时钟域数据 dmux表示数据分配器,该方…

计算机网络——30SDN控制平面

SDN控制平面 SDN架构 数据平面交换机 快速、简单,商业化交换设备采用硬件实现通用转发功能流表被控制器计算和安装基于南向API,SDN控制器访问基于流的交换机 定义了哪些可以被控制哪些不能 也定义了和控制器的协议 SDN控制器(网络OS&#…

灵动翻译音频文件字幕提取及翻译;剪映视频添加字幕

参考:视频音频下载工具 https://tuberipper.com/21/save/mp3 1、灵动翻译音频文件字幕提取及翻译 灵动翻译可以直接chorme浏览器插件安装: 点击使用,可以上传音频文件 上传后自动翻译,然后点击译文即可翻译成中文,…

ssm网上订餐管理系统开发mysql数据库web结构java编程计算机网页源码eclipse项目采用线性算法

一、源码特点 ssm 网上订餐管理系统是一套完善的信息系统,结合springMVC框架完成本系统,对理解JSP java编程开发语言有帮助系统采用SSM框架(MVC模式开发),系统具有完整的源代码和数据库,系统主要采用B/S模…

OpenAI最近推出的Sora,在NVIDIA H100上生成1分钟视频大约需要12分钟的时间

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗?订阅我们的简报,深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同,从行业内部的深度分析和实用指南中受益。不要错过这个机会,成为AI领…

Linux内核之最核心数据结构之二:struct inode(三十一)

简介: CSDN博客专家,专注Android/Linux系统,分享多mic语音方案、音视频、编解码等技术,与大家一起成长! 优质专栏:Audio工程师进阶系列【原创干货持续更新中……】🚀 优质专栏:多媒…

实验2-spark编程

实验目的 (1)通过实验掌握Spark的基本编程方法; (2)熟悉RDD到DataFrame的转化方法; (3)熟悉利用Spark管理来自不同数据源的数据。 实验内容 1.Spark基本操作 请参照…

单链表的插入和删除

一、插入操作 按位序插入(带头结点): ListInsert(&L,i,e):插入操作。在表L中的第i个位置上插入指定元素e。 typedef struct LNode{ElemType data;struct LNode *next; }LNode,*LinkList;//在第i 个位置插插入元素e (带头结点) bool Li…

江协科技STM32:按键控制LED光敏传感器控制蜂鸣器

按键控制LED LED模块 左上角PA0用上拉输入模式,如果此时引脚悬空,PA0就是高电平,这种方式下,按下按键,引脚为低电平,松下按键,引脚为高电平 右上角PA0,把上拉电阻想象成弹簧 当按键…

2024年天府杯A题论文免费分享,全网首发

天府杯免费分享资料(A题论文代码)链接:https://pan.baidu.com/s/17QtYt036ORk1xGIDi0JSew 提取码:sxjm 摘要 在近年来,随着科技的快速发展和社会经济的不断进步,科学研究的作用和地位日益凸显。本文基于…

通过WSL在阿里云上部署Vue项目

参考: 阿里云上搭建网站-CSDN博客 云服务器重装 关闭当前运行实例 更换操作系统,还有其他的进入方式。 选择ubuntu系统(和WSL使用相同的系统)。 设置用户和密码。发送短信验证码。 新系统更新。秒速干净的新系统设置完成。 这…

如何快速搭建一个ELK环境?

前言 ELK是Elasticsearch、Logstash和Kibana三个开源软件的统称,通常配合使用,并且都先后归于Elastic.co企业名下,故被简称为ELK协议栈。 Elasticsearch是一个实时的分布式搜索和分析引擎,它可以用于全文搜索、结构化搜索以及分…

Linux repo基本用法: 搭建自己的repo仓库[服务端]

概述 Repo的使用离不开Git, Git 和 Repo 都是版本控制工具,但它们在使用场景和功能上有明显区别… Git 定义:Git 是一个分布式的版本控制系统,由 Linus Torvalds 为 Linux 内核开发而设计,现已成为世界上最流行的版本控制软件之…

数据结构与算法 双链表的转置

一、实验内容 有一个带头结点的双链表L,设计一个算法将其所有元素逆置,即第一个元素变为最后一个元素,第2个元素变为倒数第2个元素,最后一个元素变为第1个元素。 二、实验步骤 1、dlinklist.cpp 2、reverse.cpp 三、实验结果 四…

windows 下用使用api OCI_ConnectionCreate连接oracle报错 TNS:无法解析指定的连接标识符

背景,两台服务器系统一样,oracle版本一样,其中一台服务器在运行程序的时候报错 TNS:无法解析指定的连接标识符 但是PL/SQL可以正常连接,怀疑是oracle配置文件的原因 tnsnames.ora配置文件大概作用:是Oracle客户端的网…

如何查看局域网IP?

在日常使用计算机和网络时,我们经常需要查看本地设备在局域网中的IP地址,以便进行一些网络配置或者连接其他设备。本文将介绍如何查看局域网中的IP地址,以及相关技术中的天联组网优势。 查看局域网IP 在Windows操作系统中,我们可…

做Linux驱动开发,怎么去看懂驱动框架?

理解Linux驱动框架是进行Linux驱动开发的关键一步。我这里有一套嵌入式入门教程,不仅包含了详细的视频讲解,项目实战。如果你渴望学习嵌入式,不妨点个关注,给个评论222,私信22,我在后台发给你。 以下是一些…

100套HTML静态网页模板源码

源码介绍 100套HTML静态网页模板,设计的十分有特色,由于Github服务器原因可能下载速度较慢,已全部打包整理。 源码截图 源码下载 链接:https://pan.baidu.com/s/1dtAeaUUIZJM6ueqA30nQ2g?pwdy5qd 提取码:y5qd

GenICam-GenApi简介

EMVA 1288标准之GemICam-GenApi学习与解读 背景介绍 当前相机不仅用于传输图像,还打包了越来越多的功能。这就导致相机的编程接口越来越复杂。 GenICam的目标是为所有类型的相机提供一个通用的编程接口,无论相机使用何种接口技术,或者实现…

快速编译嵌入式Linux(4.9.229)内核(硬件:mini2440)

目录 概述 1 Linux内核介绍 1.1 Linux 内核版本 1.2 下载Linux 内核 2 编译内核 2.1 解压内核 2.2 编译环境 2.3 编译内核 概述 本文主要以硬件板卡mini2440为例,介绍如何从linux内核官网下载一个原生态的内核源码包,通过简单的配置编译适合在AR…