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

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.mzph.cn/news/783201.shtml

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

相关文章

鸿蒙开发(七)-UIAbility启动模式

鸿蒙开发(七)-启动模式 根据代码中定义,UIAbility的启动模式有以下几种: "launchType": {"description": "Indicates the boot mode of ability.","type": "string","enum": ["standard",…

springboot点餐平台网站

目 录 摘 要 1 前 言 2 第1章 概述 2 1.1 研究背景 3 1.2 研究目的 3 1.3 研究内容 4 第二章 开发技术介绍 5 2.1相关技术 5 2.2 Java技术 6 2.3 MySQL数据库 6 2.4 Tomcat介绍 7 2.5 Spring Boot框架 8 第三章 系统分析 9 3.1 可行性分析 9 3.1.1 技术可行性 9 3.1.2 经济可行…

嵌入式|蓝桥杯STM32G431(HAL库开发)——CT117E学习笔记12:DAC数模转换

系列文章目录 嵌入式|蓝桥杯STM32G431(HAL库开发)——CT117E学习笔记01:赛事介绍与硬件平台 嵌入式|蓝桥杯STM32G431(HAL库开发)——CT117E学习笔记02:开发环境安装 嵌入式|蓝桥杯STM32G431(…

Django(二)-搭建第一个应用(1)

一、项目环境和结构 1、项目环境 2、项目结构 二、编写项目 1、创建模型 代码示例: import datetimefrom django.db import models from django.utils import timezone# Create your models here.class Question(models.Model):question_text models.CharField(max_length2…

golang grpc和protobuf的版本降级问题(version4 -> version3)

最后更新于2024年3月28日 10:57:52 简中没查到类似的文章。一点小事闹麻了,搞了一天,特意发出来造福大家。 所谓的版本就是下面这个东西proto.ProtoPackageIsVersion4或者proto.ProtoPackageIsVersion3: 目的 为了适配旧代码&#xff0c…

【Monero】Wallet RPC | Wallet CLI | 门罗币命令行查询余额、种子、地址等命令方法教程

ubuntu22.04 首先在运行daemon,详细安装运行教程可参考:The Monero daemon (monerod) ./monerodWallet CLI run ./monero-wallet-cli如果还没有钱包就根据提示创建钱包即可 输入密码 查询余额 balance查询种子 seed其他可执行命令操作&#xff1…

跳槽多次未成功,问题源自何处?

众所周知,2023年市场很难!看着企业们纷纷裁员,甚至连内推这个后门都走不通!哪怕有面试,都是屡屡碰壁,你想清楚问题出在哪了吗?😭“求职不得,夜不能寐;三更半夜…

GEE土地分类——基于遥感影像数据的不同作物的分类

简介 这里我们首先要更改原始代码的中的影像和研究区矢量的问题,这个为了防止我们计算的过程超限,建议先将我们的研究区影像和样本点先存在自己的assets中,然后导入到新的脚本中。然周本文就是对其进行影像进行归一化处理,然后进行样本点值提取至点,然后训练样本点,进行…

学习刷题-14

3.29 贪心算法 跳跃游戏 II 给定一个非负整数数组,你最初位于数组的第一个位置。 数组中的每个元素代表你在该位置可以跳跃的最大长度。 你的目标是使用最少的跳跃次数到达数组的最后一个位置。 贪心的思路,局部最优:当前可移动距离尽可能多…

【4】单链表(有虚拟头节点)

【4】单链表(有虚拟头节点) 1、虚拟头节点2、构造方法3、node(int index) 返回索引位置的节点4、添加5、删除6、ArrayList 复杂度分析(1) 复杂度分析(2) 数组的随机访问(3) 动态数组 add(E element) 复杂度分析(4) 动态数组的缩容(5) 复杂度震荡 7、单链…

3.两数相加 - 链表

文章目录 题目简介题目解答代码: 题目链接 大家好,我是晓星航。今天为大家带来的是 两数相加 相关的讲解!😀 题目简介 题目解答 通过题目给的第一个示例来解析 图解如下: l1的2和l2的5首先相加变为7 这里相加结果为7…

Ubuntu18.04安装wireshark

安装wireshark 环境Ubuntu18.04 1.使用root用户进行安装 2.将 wireshark-dev/stable PPA 添加到系统的软件源列表中。系统就可以从该PPA获取Wireshark软件包及其更新了。 apt-add-repository ppa:wireshark-dev/stable3.确保你系统上的软件包信息是最新的,这样在…

Yarn - macOS 上安装使用

文章目录 关于 YarnYarn 工作流程安装检查安装、查看版本 常用命令 关于 Yarn Yarn 是一款成熟的开源软件包管理器,用于管理 JavaScript 项目中的依赖关系。 官网:https://yarnpkg.comgithub : https://github.com/yarnpkg官方文档:https:/…

高炉项目中DeviceNET到Ethernet的转换奥秘

在工业自动化的世界中,高炉项目中的数据通信至关重要。其中DeviceNET和Ethernet作为两种主流的网络协议,扮演着不可或缺的角色。它们之间的转换不仅仅是技术上的桥梁,更是实现信息高效传递的关键。今天,我们就来揭开从DeviceNET到…

数据结构——lesson13排序之计数排序

💞💞 前言 hello hello~ ,这里是大耳朵土土垚~💖💖 ,欢迎大家点赞🥳🥳关注💥💥收藏🌹🌹🌹 💥个人主页&#x…

Java 中的单例模式

引言: 在 Java 编程中,单例模式是一种常见的设计模式,它保证一个类只能创建一个实例,并提供一个全局访问点。单例模式在很多场景下都非常有用,比如线程池、日志系统、数据库连接池等。本文将详细介绍 Java 中单例模式的…

操作教程|在MeterSphere中通过SSH登录服务器的两种方法

MeterSphere开源持续测试平台拥有非常强大的插件集成机制,用户可以通过插件实现平台能力的拓展,借助插件或脚本实现多种功能。在测试过程中,测试人员有时需要通过SSH协议登录至服务器,以获取某些配置文件和日志文件,或…

知乎:多云架构下大模型训练,如何保障存储稳定性?

知乎,中文互联网领域领先的问答社区和原创内容平台,2011 年 1 月正式上线,月活跃用户超过 1 亿。平台的搜索和推荐服务得益于先进的 AI 算法,数百名算法工程师基于数据平台和机器学习平台进行海量数据处理和算法训练任务。 为了提…

在 Linux中解压,压缩命令详解

在 Linux中解压,压缩命令详解 在 Linux中解压,压缩命令详解 🐧💻摘要引言正文内容解压命令详解1. 解压 .zip 文件unzip 命令 2. 解压 .tar.gz、.tar.bz2、.tar.xz 文件tar 命令 3. 解压其他格式的压缩文件gzip 命令bzip2 命令 压…

哥本哈根Major后steam搬砖该何去何从?

都在问我哥本哈根major比赛过后市场会不会崩盘呢?说实话,我是不喜欢预测市场的,其实是没那个本事而已。若真有这个预测市场走势的本事,我还用坐在这里每天苦哈哈的搬砖吗?我直接干囤卡囤号的倒卖生意岂不早发财了&…