首页 > 其他分享 >git如何回滚代码

git如何回滚代码

时间:2024-09-06 17:50:18浏览次数:8  
标签:回滚 git 代码 push 提交 回退 推送 分支

 

方法一: 使用 git reset 命令

命令可以将当前分支的 HEAD 指针指向指定的提交,从而回退代码到指定版本。
该命令有三种模式:–soft、–mixed 和 --hard。它们的区别在于回退代码的程度不同。

--mixed (默认):将 HEAD 指针和暂存区都回退到指定提交,但不改变工作区的内容。
--soft 仅将 HEAD 指针回退到指定提交,不改变暂存区和工作区的内容。
--hard 将 HEAD 指针、暂存区和工作区都回退到指定提交,会丢失最新的代码修改,慎用。

命令:

# 查看提交历史
git log 

# 回退到指定提交(使用 --soft 模式)
git reset --soft <commit>

# 查看状态,确认回退操作是否正确
git status

# 提交回退后的代码
git commit -m "回退到 <commit>"

# 将修改的代码推送到远程仓库
git push origin <branch>
#如果不行,就用强制推送:
git push -f origin <branch>

方法二:使用 git revert 命令

git revert 命令可以将指定提交的修改反向应用到当前分支上,相当于撤销指定提交的修改
这种方式比使用 git reset 命令更加安全,因为它不会改变提交历史,而是创建一个新的提交来撤销之前的修改。

# 查看提交历史
git log

# 撤销指定提交,这样会创建一个新的提交来撤销之前的修改
git revert <commit>

# 提交撤销操作
git commit -m "回退到版本 <commit>"

# 推送到远程仓库
git push origin <branch>
#如果不行,就用强制推送:
git push -f origin <branch>

方法三:使用 git checkout 命令

git checkout 命令可以将当前分支的 HEAD 指针指向指定的提交,并将工作区的内容替换成指定提交的内容。这种方式不改变提交历史,但会直接覆盖工作区的内容,慎用

# 查看提交历史
git log

# 切换到指定提交
git checkout <commit>

# 提交回退后的代码
git commit -m "回退到版本 <commit>"

# 切回到原来的分支
git checkout <branch>

# 推送当前分支到远程仓库
git push origin <branch>
#<branch> 表示当前分支的名称,例如 master。这个命令会将本地分支的提交推送到远程仓库,并将远程分支更新为与本地分支一致。

常见的错误及其解决办法如下:

【1】error: failed to push some refs to ‘[email protected]:/.git’
原因:这个错误通常是由于本地分支和远程分支的提交历史不一致导致的。
解决办法:先执行 git pull 命令将远程分支的代码拉取到本地,然后再执行 git push 命令推送代码。

【2】error: src refspec does not match any
解决:这个错误通常是由于本地分支不存在或者拼写错误导致的。
解决办法:先执行 git branch 命令查看本地分支列表,确认分支名是否正确,如果不存在则需要先创建分支。

【3】error: failed to push some refs to ‘[email protected]:/.git’
解决:这个错误通常是由于权限不足导致的。
解决办法:确认当前用户是否有权限推送代码到远程仓库,如果没有则需要联系管理员进行授权。

 


原文链接:https://blog.csdn.net/weixin_53791978/article/details/132160078

标签:回滚,git,代码,push,提交,回退,推送,分支
From: https://www.cnblogs.com/pingguomang/p/18400707

相关文章

  • 代码大全避免命名冲突的策略
    在编程中,避免全局命名空间的命名冲突是一个重要的考虑,因为这有助于保持代码的清晰和可维护性。以下是一些在不同编程语言中划分全局命名空间和避免命名冲突的策略:C++和C#在C++和C#中,可以使用namespace关键字来组织代码,避免命名冲突。cpp//C++示例namespaceUser......
  • 简单扫雷代码的底层思路和代码分析
     桀桀桀,开始今天的扫雷代码讲解:<一>、要完成一个扫雷代码我们首先要有一个自己的思路,比如下图 我们这篇文章将以这个思路去完成我们的扫雷游戏1.main函数构建菜单(menu)和游戏内容(game) 的函数,放在main函数外进行编写,更加简洁。然后运用switch语句去编写一下,不同选......
  • 一次Java性能调优实践【代码+JVM 性能提升70%】
    这是我第一次对系统进行调优,涉及代码和JVM层面的调优。如果你能看到最后的话,或许会对你日常的开发有帮助,可以避免像我一样,犯一些低级别的错误。本次调优的代码是埋点系统中的报表分析功能,小公司,开发结束后,没有CodeReview环节,所以下面某些问题,也许在CodeReview环节就可以避免......
  • 使用同步锁的代码示例7
    使用同步锁的代码示例packageorg.zyf.javabasic.thread.lock.opti;importjava.util.concurrent.locks.ReentrantLock;/***@program:zyfboot-javabasic*@description:使用了ReentrantLock来保护对共享资源(counter)的访问,确保同一时间只有一个线程可以对计数器......
  • 三分钟全面了解低代码,两小时实现应用系统搭建
    在数字化转型的浪潮中,企业对于快速开发和部署应用系统的需求日益增长。传统的软件开发方法往往耗时且成本高昂,而低代码开发平台的出现,为解决这一问题提供了全新的视角。本文将带你三分钟全面了解低代码开发,并在两小时内实现一个简单的应用系统搭建。低代码开发简介低代码开......
  • 企业数智化转型实战:JNPF低代码平台的创新应用案例
    随着信息技术的飞速发展,企业数智化转型已成为推动企业持续增长和提升竞争力的关键战略。在这一过程中,低代码平台因其快速开发、高效部署和易于维护的特性,成为企业数字化转型的重要工具。本文将探讨JNPF低代码平台在企业数智化转型中的创新应用案例。JNPF低代码平台简介JNPF......
  • 如何将源码压缩后发布到 GitHub 或其他平台
    在软件开发过程中,源码的管理和发布是非常关键的环节。特别是在需要对源码进行共享、分发或归档时,压缩和上传源码到平台如GitHub、GitLab、或其他云存储服务上是常见的做法。为什么需要压缩源码在一些场景下,开发者可能需要将源码进行压缩后发布,例如:1.文件体积较大:项目文件......
  • git 管理
    安装sudoapt-getinstallgit当前环境为Linuxgitinit初始化git仓库(Ctrl+H显示隐藏文件夹)gitconfiguser.namexxxgitconfiguser.emailxxx.com4.touch文件,新建文件5.gitstatus查看当前git工作状态6.gitaddxx将工作区域的文件,增加到缓存区7.git......
  • 搜索算法之二分搜索详细解读(附带Java代码解读)
    1.基本概念二分搜索(BinarySearch)是一种高效的查找算法,用于在一个已排序的数组中查找特定元素。它通过逐步将搜索范围减少一半来实现搜索,从而比线性搜索更快。由于它利用了数组的有序性,能够在对数时间内完成搜索操作。2.工作原理二分搜索的基本思想是:初始化:设置两个指针......
  • 最新微信商城小程序源码搭建指南(附源代码)
     一、前期准备 1.1了解微信商城小程序 微信商城小程序是在微信平台上运行的商城系统,主要形式分为展示型和下单+展示型。展示型主要用于商品信息的展示,不支持在线下单;而下单+展示型则支持在线下单、购物车、订单管理等完整电商功能。 1.2注册与认证 源码及演示:xcxym......