首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Git如何恢复之前版本,resetrevert在命令行和IDEA上的操作步骤

(推荐) Git reset 原理: git reset的作用是修改HEAD的位置,即将HEAD指向的位置改变为之前存在的某个版本,如下图所示,假设我们要回退到版本一: 适用场景: 如果想恢复到之前某个提交的版本...查看版本号: 使用命令“git log”查看: 也可以在github网站上查看: 在Idea上,点击项目右键git->Show Histroy ->选择需要回滚的版本,右键Copy Revision...提交更改 使用“git push -f”提交更改,idea在TerMinal输入命令 如果出现以下代码,说明在代码平台上这个分支是受保护的,不允许提交,可以在代码平台上把分支先设置成不保护状态 remote...在github图形化界面上看,远程库的HEAD也已经指向目标版本: 4.IDEA上Git Reset 选项说明 提交版本2的修改后,想回退到版本1,选择版本右键Reset Current Branch...参考: Git恢复之前版本的两种方法reset、revert:https://blog.csdn.net/yxlshk/article/details/79944535 IDEA git分支回退指定的历史版本

8.2K20

【干货分享】通过命令操作来学习Git

以上的困扰将被Git终结,Git管理的文档(文本文档)允许多人对同一个文档进行修改,各自修改的内容很方便地进行合并,并且可以基于当前内容创建新的分支,在新的分支继续进行修改,最后合并到当前分支上,始终保证文档是最新的...分支并添加部分内容并提交,然后在恢复到feature-A合并之后,然后将fix-B分支合并到主分支上。...由于这个分支进行了两次提交,所以在历史记录中就有两次提交的记录,但是对于第二次提交,健全的历史记录并不需要他们,所以我们希望将这两次提交历史合并成为一次历史,那么使用Git的相关命令轻松可以做到。...我们使用命令git rebase -i HEAD~2来将两次提交合并,键入命令之后,会打开编辑器,我们将第二次提交的记录前面的pick改成fixup即可,就完成了两次提交记录的合并,后面可以通过查看日志来确认一下...修改完成之后,就会出现最后一行的温馨提示: ? 我们再次查看日志: ? 发现两次提交成功合并成为一次提交了,且这次提交的commit id也不和之前的都一样了。

52730
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    关于git回退版本的一点心得

    我由于开发中不小心在master分支上开发,忘记了切换分支,最后我直接在master分支上提交,push,在开发分支上merge了master分支。...--force 强制推送到远程,千万不要拉取,否则又会把最新提交拉下来 git reset --hard在master回退到之前的某个版本之后,后面的提交记录则都消失了,是完全回退到当时提交的模样。...解决办法如下: gitlab如何支持强制push 然后强制push成功: ? 此时代码已变为第二次提交时的两个文件了: ? ? 提交记录也恢复到了前两次提交。  ...git log可以查看当前存在的两次提交记录,git reflog可以查看所有提交记录: ? ? 2、 git reset --soft 第四次提交的commit ?...文件全部恢复,本地暂存区有记录。 3、 git reset --hard 第二次提交的commitid ?

    2.7K40

    让你的Git水平更上一层楼的10个小贴士

    本篇文章,我们将尝试探索如何更有效的管理您的时间以及如何充分使用Git提供的各种功能。...git rebase -i HEAD~[number_of_commits] 如果你希望合并最后两次提交,您需要以下命令 git rebase -i HEAD~2 使用该命令,你会进入一个交互式的界面,...显示了最后两次提交,并且询问你要压缩哪些。...你当前的工作还没有完成到进行提交的地步,而且你在这个阶段也没办法展示你的工作(如果不回退所有变化的话)。在这种情况下,git stash可以拯救你。...git fsck比reglog有一个优势。比如你删除了一个远端分支并且克隆了仓库,使用fsck命令你可以搜索并恢复该远端分支。 10.cherry-pick命令 我把最优雅的Git命令留在了最后。

    55450

    Git常用命令

    -- . # 从暂存区恢复到工作文件 git reset --hard # 恢复最近一次提交过的状态,即放弃上次提交后的所有本次修改 git ci git ci . git ci -a...# 将git add, git rm和git ci等操作都合并在一起做 git ci --amend # 修改最后一次提交记录 git revert # 恢复某次提交的状态,恢复动作本身也创建次提交对象...git revert HEAD # 恢复最后一次提交的状态 查看文件diff git diff # 比较当前文件和暂存区文件差异 git diff git diff # 比较两次提交之间的差异...p -2 # 查看最近两次详细修改内容的diff git log --stat #查看提交统计信息 tig Mac上可以使用tig代替diff和log,brew install tig Git 本地分支管理...查看、切换、创建和删除分支 git br -r # 查看远程分支 git br # 创建新的分支 git br -v # 查看各个分支最后提交信息 git br --merged

    24220

    Git常用命令大全

    继上一次后,抽空整理了个比较全的Git常用命令,找到了一张非常棒的导图,非常高清的(1759*3162)。...git reset -- . # 从暂存区恢复到工作文件 git reset --hard # 恢复最近一次提交过的状态,即放弃上次提交后的所有本次修改 git ci git ci...comments" git ci --amend # 修改最后一次提交记录 git revert # 恢复某次提交的状态,恢复动作本身也创建次提交对象 git revert HEAD...# 恢复最后一次提交的状态 查看文件diff git diff # 比较当前文件和暂存区文件差异 git diff git diff # 比较两次提交之间的差异...-p -2 # 查看最近两次详细修改内容的diff git log --stat #查看提交统计信息 tig Mac上可以使用tig代替diff和log,brew install tig Git

    48740

    我在团队的技术分享-Git日常操作我在团队的技术分享-Git日常操作

    今天在公司内做了一次关于Git操作的分享,总结准备了几天,写了二十多页的ppt,在紧张结巴中大约讲了三四十分钟,带大家一起回顾了Git日常操作。...代码然后进行代码修改 3、在提交代码前先将代码提交到暂存区 4、提交到本地仓库。...恢复分支 对于已经有提交记录的分支删除后,实际上只是删除指针其commit记录还被保留,恢复之前我们可以通过指令: git reflog查找该分支最后一次提交时的ID(最前面的hash值), 我们可以根据...git merge --abort //合并后导致冲突时才使用,撤销合并过程中的操作回到初始状态; 一个分支的个别提交合并到另一个分支 应用场景:在一个分支上做了修改commit , 结果发现本次修改也适用于其他分支...,随便吹水的,,,, (1)基本操作大致相同; (2)SVN没有本地库,GIT有本地库; (3)SVN提交代码时只需一次提交(远程库),GitHub需要两次提交(本地库一次,远程库一次); (4)GitHub

    67140

    10.7 Git 内部原理 - 维护与数据恢复

    这个符号表示它上一行的标签是附注标签,那一行是附注标签指向的那个提交。 数据恢复 在你使用 Git 的时候,你可能会意外丢失一次提交。...通常这是因为你强制删除了正在工作的分支,但是最后却发现你还需要这个分支;亦或者硬重置了一个分支,放弃了你想要的提交。 如果这些事情已经发生,该如何找回你的提交呢?...master 分支曾经指向的地方,再一次使得前两次提交可到达了。...这时该如何恢复那次提交? 一种方式是使用 git fsck 实用工具,将会检查数据库的完整性。...在最后一次提交前,使用了不到 2KB - 显然,从之前的提交中移除文件并不能从历史中移除它。

    83920

    Git常用命令汇总

    reset --hard # 恢复最近一次提交过的状态,即放弃上次提交后的所有本次修改 假如你想要丢弃你所有的本地改动与提交,可以到服务器上获取最新的版本并将你本地主分支指向到它: git fetch...' git add forgotten_file git commit --amend git revert # 恢复某次提交的状态,恢复动作本身也创建了一次提交对象 git revert...HEAD # 恢复最后一次提交的状态 查看文件diff git diff # 比较当前文件和暂存区文件差异 git diff git diff # 比较两次提交之间的差异...p -2 # 查看最近两次详细修改内容的diff git log --stat # 查看提交统计信息 tig Mac上可以使用tig代替diff和log,brew install tig tag git...v1.0.0 Git 本地分支管理查看、切换、创建和删除分支 git br -r # 查看远程分支 git br # 创建新的分支 git br -v # 查看各个分支最后提交信息

    46990

    git 清除已提交的记录 git 清除本地commit提交记录

    git 清除已提交的记录 git 清除本地commit提交记录 步骤一 首先确保你本地没有做任何更改 方法一 保留你的当前更改 提交你的当前更改: bashCopy codegit add . git...执行 rebase 命令: bash Copy code git rebase -i HEAD~2 如果你不想保留当前更改,你也可以简单地将它们暂存起来,然后在完成 rebase 后再恢复它们: 方法二...其中 -i 是 --interactive 的简写,表示交互式,HEAD~2 表示要 rebase 的最近两次提交(HEAD 表示当前所在的提交,HEAD~1 表示当前提交的前一个提交,以此类推)...在这个界面中,每一行表示一个提交,每行前面的命令告诉 Git 如何处理该提交。...发现打不了字也上不了的多打几下 或者搜vim怎么进入修改模式 然后点ESC 输入:wq 到这里,就能发现代码提交记录消失了

    24010

    如何使用Git上传项目代码到github

    与github上的对应 ? 提交上传 1)接下来在本地仓库里添加一些文件,比如README 在本地新建一个README文件 ?...大功告成,现在你知道如何将本地的项目提交到github上了。 gitignore文件 .gitignore顾名思义就是告诉git需要忽略的文件,这是一个很重要并且很实用的文件。...comments" git ci --amend # 修改最后一次提交记录 git revert # 恢复某次提交的状态,恢复动作本身也创建次提交对象 git revert HEAD...# 恢复最后一次提交的状态 查看文件diff git diff # 比较当前文件和暂存区文件差异 git diff git diff # 比较两次提交之间的差异...log -p -2 # 查看最近两次详细修改内容的diff git log --stat #查看提交统计信息 tig Mac上可以使用tig代替diff和log,brew install tig

    1.4K40

    2.4 Git 基础 - 撤消操作

    取消暂存的文件 接下来的两个小节演示如何操作暂存区域与工作目录中已修改的文件。 这些命令在修改文件状态的同时,也会提示如何撤消操作。...例如,你已经修改了两个文件并且想要将它们作为两次独立的修改提交,但是却意外地输入了 git add * 暂存了它们两个。 如何只取消暂存两个中的一个呢?...在最后一个例子中,未暂存区域是这样: Changes not staged for commit: (use "git add ..." to update what will be committed...如果你仍然想保留对那个文件做出的修改,但是现在仍然需要撤消,我们将会在 Git 分支 介绍保存进度与分支;这些通常是更好的做法。 记住,在 Git 中任何 已提交的 东西几乎总是可以恢复的。...甚至那些被删除的分支中的提交或使用 --amend 选项覆盖的提交也可以恢复(阅读 数据恢复 了解数据恢复)。 然而,任何你未提交的东西丢失后很可能再也找不到了。

    58010

    Python的核心知识点整理大全66(已完结撒花)

    从这里的输出可知,我们位于分支master上(见1)。你 每次查看项目的状态时,输出都将指出你位于分支master上。接下来的输出表明,我们将进行初 始提交。提交是项目在特定时间点的快照。...标志-a让Git将仓 库中所有修改了的文件都加入到当前提交中(如果你在两次提交之间创建了新文件,可再次执行 命令git add .将这些新文件加入到仓库中)。...D.10 撤销修改 下面来看看如何放弃所做的修改,恢复到前一个可行状态。...我们可以提交所做的修改,但这次我们不提交 所做的修改,而要恢复到最后一个提交(我们知道,那次提交时项目能够正常地运行)。...命令git checkout .放弃自最后一次提 交后所做的所有修改,将项目恢复到最后一次提交的状态。

    14010

    10 个技巧促使你的 Git 的技能上一个台阶——SitePoint

    在这次教程中,我们尝试如何在有效的时间内充分掌握提供的 Git 特性。 说明:文中一些指令包含指令的部分在方括号中(如:git add -p [file_name])。...在这些案例中,你可以不用方括号,选择插入一些必要的数字,标识符等等。 01 Git 自动完成 如果你通过命令行运行 Git 命令,每一次通过手动敲来完成是令人烦恼的。...为了帮助你做到这点,你可以使 Git 命令在几分钟内自动完成。 将下列脚本运行在 Unix 系统中。...后面,你意识到这个过程丢失了一些其他的信息并想返回去,或者至少可以再次看下。这就是 git reflog 作用。 一个简单的 git log 命令可以显示最新的提交,上一次的提交,上上次的提交等等。...为了保存这些变化,你需要运行以下命令: 为了核对保存的列表,你需要执行下面的命令: 如果你想不保存和恢复未提交的变化,你可以应用下面的保存: 在最后一个截图中,你可以看到每次保存都有个标识符,一个唯一的数字

    1.1K80

    【linux命令讲解大全】014.Git:分布式版本控制系统的先驱和常用命令清单(三)

    git blame 文件名:显示文件的每一行是在那个版本最后修改。...> # 在commit之前撤销git add操作 git reset head # 比上面更方便的方法 提交更新 git commit -m "message" #此处注意乱码 远程 git remote...' # 提交说明 git commit -a # 跳过使用暂存区域,把所有已经跟踪过的文件暂存起来一并提交 git commit --amend # 修改最后一次提交 git commit log...比较Worktree和branch之间的差异 git diff branch1 branch2 # 比较两次分支之间的差异 git diff commit commit # 比较两次提交之间的差异...git stash list # 查看保存的工作现场 git stash apply # 恢复工作现场 git stash drop # 删除stash内容 git stash pop # 恢复的同时直接删除

    11610

    深入Git —— 从底层对象到常用命令速刷手册

    -s 提交代码,在test下新建src和docs目录存放代码main.c和文档project.txt,再将src和docs使用git add和git commit完成提交,最后执行git tag -a...我们分别将两次提交作为commitA 和 commitB,那么两次提交中Git Objects的组织关系如下图: 我们刚刚提到Git对象是用SHA1或者SHA-256格式存储,由于其表现形式不方便使用...-lw 后期打标签 查看提交历史 $ git log --pretty=oneline 在指定版本上打标签 $ git tag -a v1.2 9fceb02 由于git push...serverfix 只删除指针,可恢复 变基 变基是将一系列提交按照原有次序依次应用到另一分支上,而合并是把最终结果合在一起。...5、git rebase --continue,完成 git rebase -i 的后续操作 在 A 之上再应用提交 B,并把 HEAD 重新指向了 B,从而完成了对历史提交 A 的修改。

    44510

    Git的使用--如何将本地项目上传到Github(三种简单、方便的方法)(二)(详解)

    里面的内容复制到Title下面的Key内容框里面,最后点击Add SSH key,这样就完成了SSH Key的加密。...第八步:在Github上创建好Git仓库之后我们就可以和本地仓库进行关联了,根据创建好的Git仓库页面的提示,可以在本地TEST仓库的命令行输入:$ git remote add origin https...# 修改最后一次提交记录 29 30 git revert # 恢复某次提交的状态,恢复动作本身也创建次提交对象 31 32 git revert HEAD # 恢复最后一次提交的状态...# 修改最后一次提交记录 62 63 git revert # 恢复某次提交的状态,恢复动作本身也创建次提交对象 64 65 git revert HEAD # 恢复最后一次提交的状态...72 73 git log -p -2 # 查看最近两次详细修改内容的diff 74 75 git log --stat #查看提交统计信息 76 tig 77 78 Mac上可以使用tig代替

    163.4K4736
    领券