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

git 删除某次指定的提交

删除指定的commit,需要执行变基操作,在多人协作的项目中,不推荐对已推送到远程仓库的内容进行变基操作 交互式的变基简介 在 rebase 命令中加入 -i 或 --interactive 参数,在交互模式下完成...交互模式会将指定的commit后的所有提交列出,行格式:(action) (partial-sha) (short commit message) 你可以上下移动这些行从而对提交进行重排序。...当你退出编辑器时,git会按照你指定的顺序去应用提交,并且做出相应的操作(action)。...rebase -i origin/master 会将最后一次从origin仓库拉取或者向origin推送之后的所有提交列出。...删除指定的commit # 首先使用 git log 命令找到需要删除的commit版本的前一次commit的commit_id # 进入交互模式,进入后不会列出当前版本 git rebase -i

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

    如何删除错误提交的 git 大文件

    那么如何把这个压缩包彻底从 git 删除? 如果需要删除 git 的历史记录,使用方法很简单,请看 Git如何永久删除文件(包括历史记录) - shines77 - 博客园 。...当然这个方法需要很长时间,因为提交大文件的时间不长,所以可以使用walterlv的方法 彻底删除 Git 仓库中的文件避免占用大量磁盘空间 - walterlv 于是远程仓库删好了,但是本地仓库还是有小伙伴拉下来...如果你不小心把大文件提交其它的分支,记得切换的就是你提交的分支。 如果提交大文件只是在自己的分支,并且放到了远程分支,那么合并到远程开发分支,那么只需要删除自己远程分支就好了,不需要继续往下做。...删除原来分支,这样就好 最后的命令是使用 gc 清掉这个提交 这时候查看自己的git 文件夹,如果文件夹还是那么大,那么说明还有一个分支是引用提交大文件,需要自己去看一下是哪个分支。...需要说明,git 如果提交一个文件,然后删除他,继续提交,那么这个文件是存在 git 中,需要使用特殊的命令才可以删除。

    3.1K10

    详解Git的基本术语和命令

    git hash(或称SHA-1) 上面提到的唯一性“提交ID”,一般被称为“git hash”或“SHA-1”(请参见https://en.wikipedia.org/wiki/SHA-1)。...通常情况下,每一个文件系统的修改(添加、删除、编辑、移动、复制、重命名、以及文件权限等)都会被视为一个文件。同时,其内容将被转换为唯一的SHA-1代码。...主分支 当某个项目被创建为Git项目时,主分支就是其主要的本地默认分支。 HEAD HEAD是每个分支上最新提交的快照。每个分支都有提交ID,如前面所说,它是SHA-1的短名称、或是指针的引用。...HEAD始终指向分支的最新提交(代码),并在每次提交时自动进行向前移动,以指向最新的提交ID。 此外,当某个分支指向较旧的提交、而不是最新的提交时,就会出现“detached HEAD”的概念。...可见,一旦拥有了最新提交ID的引用“HEAD”,我们的确不必再去记忆那个最近工作过的提交ID了。 checkout 该命令会切换到指定的分支,并显示当前项目的状态。

    55720

    【Git】Common Git Command Line Operation

    Mark all added / modified / deleted files as to-be-committed 把所有增加/修改/删除的文件标识为要提交 git add /PATH/TO/FILE...) 把修改/删除的文件进行提交(如果有新增的文件,需要使用 git add 添加) git commit -am "MESSAGE" Commit modified / deleted files and...assign comment (suitable for temporary or simple comment content) 把修改/删除的文件进行提交并指定注释(适用于临时或简单注释内容) git...取消修改/删除或已标识为要 commit 的新增的文件的更新 git reset SHA-1 Cancel all the commits after SHA-1, but retain updates...,但是保留提交文件的更新,如果只想取消上一次提交,SHA-1 可以设为 HEAD^ git reset --hard SHA-1 Cancel all the commits after SHA-1,

    14910

    Git 中文参考(六)

    克隆存储库后, fetch 命令将能够在不影响工作树的情况下更新修订版;并且 rebase 命令将能够使用最新更改更新工作树。...处理重命名 导入重命名的文件或目录时,只需删除旧名称并在相应的提交期间修改新名称。 Git 在事后执行重命名检测,而不是在提交期间显式执行。...--rewrite 如果修剪了 reflog 条目的前任,则将其“旧”SHA-1 调整为等于其前面的条目的“新”SHA-1 字段。...原始标签不会被删除,但可以被覆盖;使用“–tag-name-filter cat”来简单地更新标签。在这种情况下,请务必小心并确保备份旧标签,以防转换发生冲突。 支持几乎正确的标记对象重写。...笔记 git-filter-branch 允许您对 Git 历史记录进行复杂的 shell 脚本重写,但如果您只是 _ 删除不需要的数据 _(如大文件或密码),则可能不需要这种灵活性。

    28910

    代码管理工具的扛把子-Git

    但是最近小❤发现很多人(包括我自己)只熟悉日常代码的拉取和提交,连 git revert/rebase 都不知道怎么用,太尴尬了 T.T 于是特意查了下资料,结合我们的日常最常见的使用写了这篇文章,相信开发者们看完都能有所收获...Git 是分布式版本管理,而 SVN 不是; Git 内容按元数据方式存储,而 SVN 用的是文件; Git 内容存储用的是 SHA-1 哈希算法,对内容完整性来说,Git 吊打 SVN; 市场占有率来说...一般选在 D 盘里: 然后去 Git 获取仓库地址,如:直接复制 GitHub 仓库 https://github.com/yangfx15/coder 的 HTTPS 链接: 然后在 Git 中执行...当进行撤销时,revert 会提交一个新的版本,将需要 revert 的版本内容反向修改。此时 HEAD 版本会递增,不影响之前提交的内容。...这是由于 revert 操作新增了一次逆向的 commit,相当于酸碱中和了,因此以后在与旧分支进行 merge 时,这部分改变不会再次出现!

    31240

    Git 系列教程(6)- 查看 commit 提交历史

    可以获取到的信息 不传入任何参数的默认情况下,git log 会按时间先后顺序列出所有的提交,最近的更新排在最上面 会列出每个提交的 SHA-1 校验和、作者的名字和电子邮件地址、提交时间以及提交说明...--name-status 显示新增、修改、删除的文件清单。 --abbrev-commit 仅显示 SHA-1 校验和所有 40 个字符中的前几个字符。...限制输出长度 -n:限制输出提交历史的数量 --since、--until:按照时间限制 下面的命令会列出最近两周的所有提交 git log --since=2.weeks 该命令可用的格式十分丰富 可以是类似...git lot 限制输出的选项 选项 说明 - 仅显示最近的 n 条提交。 --since, --after 仅显示指定时间之后的提交。...--grep 仅显示提交说明中包含指定字符串的提交。 -S 仅显示添加或删除内容匹配指定字符串的提交。

    1.9K30

    git常用操作都在这里了(二)

    git修改密码 打开git bash 输入 cd ~/.ssh ls 确定有 id_rsa 和 id_rsa.pub文件 ssh-keygen -p -f id_rsa 第一次输入旧密码 新密码 确认新密码...比如压缩最后4次提交为一次提交 git rebase -i HEAD~4 该命令执行后,会弹出vim的编辑窗口,4次提交的信息会倒序排列, 最上面的是第四次提交,最下面的是最近一次提交。...SHA-1 校验和, 所以要确保列表中的提交还没有推送到共享仓库中。...使用这个技巧的时候需要小心,因为修正会改变提交的 SHA-1 校验和。 它类似于一个小的衍合 - 如果已经推送了最后一次提交就不要修正它。...同时丢弃 git stash pop 就相当于先执行git stash apply 再执行 git stash drop 暂存文件的部分改动 一般情况下,创建一个基于特性的提交是比较好的做法 ,意思是每次提交都必须代表一个新特性的产生或者是一个

    952100

    如何在IntelliJ IDEA 中使用 Git ?你会没...

    来源:rrd.me/frUJz # Git简介 Git是目前流行的分布式版本管理系统。它拥有两套版本库,本地库和远程库,在不进行合并和删除之类的操作时这两套版本库互不影响。...也因此其近乎所有的操作都是本地执行,所以在断网的情况下任然可以提交代码,切换分支。Git又使用了SHA-1哈希算法确保了在文件传输时变得不完整、磁盘损坏导致数据丢失时能立即察觉到。...git clone:将远程的Master分支代码克隆到本地仓库 git checkout:切出分支出来开发 git add:将文件加入库跟踪区 git commit:将库跟踪区改变的代码提交到本地代码库中...点击IDE右上角的向上箭头的VCS, git commit, 写上日志提交到本地代码库中 ? git push VCS->Git->Push 将本地代码提交到远程仓库 ?...git pull 提交更新 git commit -am "备注" 合并分支到当前分支,首先切换到需要被合并的分支 git checkout xxx, 再合并 git merge yyyy 提交 git

    1.2K10

    通俗易懂的 Git 教程:核心概念

    另外注意,Git最适合保存文本文件,事实上Git就是被设计出来就是为了保存文本文件的,像各种语言的源代码,因为Git可以对文本文件进行很好的压缩和差异分析(大家都见识过了,Git的差异分析可以精确到你添加或者删除了某个字母...所以使用Git的基本工作流程就是: 在工作区域增加,删除或者修改文件。 运行git add,将文件快照保存到暂存区域。 提交更新,将文件永久版保存到版本库中。...而第三次提交时Test.txt并没有变化,所以只是保存最近版本的 SHA-1 校验和而不生成全新的blob对象。在项目开发过程中新增加的文件在提交后都会生成一个全新的blob对象来保存它。...而Git就是通过组织和管理这些对象的状态以及复杂的关系实现的版本控制以及以及其他功能如分支。 Git引用 ---- 现在再来看引用,就会很简单了。...如果我们想要看某个提交记录之前的完整历史,就必须记住这个提交ID,但提交ID是一个40位的 SHA-1 校验和,难记。所以引用就是SHA-1 校验和的别名,存储在.git/refs文件夹中。

    52200

    7.13 Git 工具 - 替换

    首先获取一个已经存在的仓库,并将其分成两个仓库,一个是最近的仓库,一个是历史版本的仓库,然后我们将看到如何在不更改仓库 SHA 值的情况下通过 replace 命令来合并他们。...第一个到第四个提交的作为第一个历史版本。 第四、第五个提交的作为最近的第二个历史版本。 ? Figure 7-28....我们已经用基础提交重写了最近的历史,基础提交包括如何重新组成整个历史的说明。 我们可以将新历史推送到新项目中,当其他人克隆这个仓库时,他们仅能看到最近两次提交以及一个包含上述说明的基础提交。...不用改变上游的 SHA-1 我们就能用一个提交来替换历史中的所有不同的提交,并且所有的工具(bisect,blame 等)也都奏效。 ? Figure 7-32....有趣的是,即使是使用了 c6e1e95 提交数据来进行替换,它的 SHA-1 仍显示为 81a708d。

    42720

    7.6 Git 工具 - 重写历史

    如果,你只是想修改最近一次提交的提交信息,那么很简单: $ git commit --amend 这会把你带入文本编辑器,里面包含了你最近一条提交信息,供你修改。...例如,如果想要修改最近三次提交信息,或者那组提交中的任意一个提交信息,将想要修改的最近一次提交的父提交作为参数传递给 git rebase -i命令,即 HEAD~2^ 或 HEAD~3。...你将会学习到几个常用的用途,这样就得到了它适合使用地方的想法。 从每一个提交移除一个文件 这经常发生。 有人粗心地通过 git add . 提交了一个巨大的二进制文件,你想要从所有地方删除它。...Git 会自动移除所有不影响子目录的提交。...因为提交包含了它们父提交的 SHA-1 校验和,这个命令会修改你的历史中的每一个提交的 SHA-1 校验和,而不仅仅只是那些匹配邮箱地址的提交。

    69460

    扫码

    添加站长 进交流群

    领取专属 10元无门槛券

    手把手带您无忧上云

    扫码加入开发者社群

    相关资讯

    热门标签

    活动推荐

      运营活动

      活动名称
      广告关闭
      领券