首页 > 其他分享 >Git 回退操作总结

Git 回退操作总结

时间:2024-10-22 17:11:06浏览次数:8  
标签:总结 Git 更改 -- 示例 git master 提交 回退

1. git reset --hard A

  • 用法: 将当前分支和工作目录回退到提交 A
  • 作用: 完全丢弃提交 B 的所有更改,永久删除 B 的历史记录和工作目录更改。

示例

假设当前提交历史如下:

A -- B -- C -- D (master)

执行命令:

git reset --hard A

结果:

A (master)

所有的 BCD 提交都被删除,工作目录回到 A 状态。


2. git reset --soft A

  • 用法: 将当前分支回退到提交 A,保留更改在暂存区。
  • 作用: 回到 A 的状态,但保留 B 的更改,以便后续修改或重新提交。

示例

执行命令:

git reset --soft A

结果:

A (master)

BCD 的更改会保留在暂存区,但历史只回到 A


3. git revert B

  • 用法: 创建一个新的提交,撤销提交 B 的更改。
  • 作用: 保留 B 的历史记录,同时使代码状态回到 A 的状态,不影响其他协作者。

示例

执行命令:

git revert B

结果:

A -- B -- C -- D -- E (master)

Git 创建一个新的提交 E,撤销 B 的更改,保留其他提交。


4. git checkout A

  • 用法: 切换到提交 A 的状态,通常用于查看历史版本。
  • 作用: 将工作目录恢复到提交 A 的状态,但不会改变当前分支的历史。

示例

执行命令:

git checkout A

结果:
你进入了 A 的状态,但历史没有改变。此时在“分离头指针(detached HEAD)”状态下,如果要继续开发,建议创建一个新分支:

git checkout -b new-branch

这样历史会变成:

A (new-branch)

A 和 B 是提交的哈希值,可以通过 git log 查看。

标签:总结,Git,更改,--,示例,git,master,提交,回退
From: https://www.cnblogs.com/win1998/p/18493322

相关文章

  • 2024.10.22总结
    本文于github博客同步更新。今天打两场byd放三道黑是吧。第一场:A:CF1261F将区间拆分为\([x2^{i},(x+1)2^{i})\)的形式,发现两个区间中的数两两异或后形成的仍为一个区间,将A,B都拆分后区间两两异或会得到\(O(n^2\log^2n)\)个区间,取并即为答案,但复杂度无法接受。发现对......
  • GitHub权限设置怎么操作
    ​​GitHub,全球最大的社交编程及代码托管站点,其权限设置是项目管理的关键环节。具体步骤包括:1.组织和仓库的权限设置;2.分支的保护与规则设置;3.使用AccessToken进行权限控制;4.Action与Webhooks的利用;5.团队的权限管理;6.安全和合规。1.组织和仓库的权限设置GitHub以仓库为单......
  • github用户名怎么更改
    GitHub更改用户名的步骤:1.为什么和何时更改GitHub用户名;2.更改用户名的直接影响;3.如何更改GitHub用户名;4.更改用户名后的后续操作;5.最佳实践和常见问题。更改GitHub用户名可能影响您的项目和仓库的可见性和支持。1.为什么和何时更改GitHub用户名GitHub用户名不仅仅是一个登录......
  • SpringBoot 面试常见问答总结(一)
    1.什么是SpringBoot?SpringBoot是Spring开源组织下的子项目,是Spring组件一站式解决方案,主要是简化了使用Spring的难度,简省了繁重的配置,提供了各种启动器,使开发者能快速上手。2.为什么要用SpringBoot?快速开发,快速整合,配置简化、内嵌服务容器3.SpringBoot与Spring......
  • Git 中如何进行复制和粘贴
    Git中进行复制和粘贴的步骤:1.复制代码段;2.粘贴代码段;3.处理合并冲突时的复制和粘贴。在Git中,复制代码段通常意味着将代码从一个文件或一个分支复制到另一个地方。这是一个常见的操作,特别是在合并分支或将代码从一个文件移动到另一个文件时。1.复制代码段在Git中,复制代码段通......
  • Codeforces 977 E1 Digital Village 贪心证明
    问题重述(原题简化得来):给定一个简单联通无向图,包含n个顶点,每条边有一个正整数边权。定义两顶点距离为两顶点间路径最大边权的最小值。记k个顶点为特殊顶点,记f(i)为i顶点分别到k个顶点的k个距离中的最小距离,记score=f(1)+f(2)+...+f(n)。现在需要最小化score。则以下贪心算法是正确......
  • 如何检查自己电脑上有git
    不同操作系统,检查电脑上是否有git的方式不同:一、在Windows上;二、在macOS上;三、在Linux上。在Windows上可打开“命令提示符”(CommandPrompt)或“PowerShell”进行查询。一、在Windows上1、打开“命令提示符”(CommandPrompt)或“PowerShell”。您可以在Windows搜索栏中输入“cm......
  • Nacos学习圣经:从入门到精通 Nacos,最全详解 (30+图文全面总结)
    文章很长,且持续更新,建议收藏起来,慢慢读!疯狂创客圈总目录博客园版为您奉上珍贵的学习资源:免费赠送:《尼恩Java面试宝典》持续更新+史上最全+面试必备2000页+面试必备+大厂必备+涨薪必备免费赠送:《尼恩技术圣经+高并发系列PDF》,帮你实现技术自由,完成职业升级,薪......
  • git报错系统列---bad ref for .git/logs/refs/remotes/origin/develop
    解决方案:先执行命令:gitgc--prune=now gitremotepruneorigin尝试执行后失败后会报如下的错:D:\myProjects\dms-api\src\main\java\com\netease\dms>gitgc--prune=nowerror:badreffor.git/logs/refs/remotes/origin/deverror:badreffor.git/logs/refs/r......
  • 前端代码从svn迁移到git
    JQuery,Vue框架,若依框架检查是否有待上传的代码,从SVN上下载对应版本的最新代码,然后打开项目,在终端运行以下命令:gitinitgitremoteaddoriginhttps://gitee.com/xxxxxxxxxxxx/xxxx-web.git删除本地文件夹的隐藏文件夹.svn添加git的忽略文件.gitignore(改文件中的qa-ui例,针对......