如何将最后 N 次提交压缩在一起?

2024-04-02

如何将最后 N 次提交压缩为一次提交?


你可以很容易地做到这一点,无需git rebase or git merge --squash。在此示例中,我们将压缩最后 3 个提交。

如果您想从头开始编写新的提交消息,这就足够了:

git reset --soft HEAD~3 &&
git commit

如果您想开始编辑新的提交消息与现有提交消息的串联(即类似于 pick/squash/squash/.../squashgit rebase -i指令列表将从)开始,然后您需要提取这些消息并将它们传递给git commit:

git reset --soft HEAD~3 && 
git commit --edit -m"$(git log --format=%B --reverse HEAD..HEAD@{1})"

这两种方法都以相同的方式将最后三个提交压缩为一个新提交。软重置只是将 HEAD 重新指向您不想压缩的最后一次提交。索引和工作树都不会受到软重置的影响,使索引处于新提交所需的状态(即,它已经具有您要“丢弃”的提交的所有更改)。

根据评论进行编辑

您已经重写了该历史记录,您必须使用 --force 标志将该分支推回远程。这就是强制标志的用途,但您可以格外小心,并始终完全定义您的目标。

git push --force origin myBranch
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何将最后 N 次提交压缩在一起? 的相关文章

  • 使用 GIT 自动增加 AssemblyFileVersion

    好吧 我知道这可能不是传统的 但除此之外 我使用 AssemblyFileVersion 作为我的 构建名称 字符串 它的格式如下 File Version information for an assembly consists of t
  • 从 git 中删除历史记录 - git 命令失败

    我正在尝试从 Git 历史记录中清除项目 bin 目录 我已经将 bin 添加到 gitignore 并运行 git rm cached r bin成功地 现在我尝试使用 GitHub 帮助页面中推荐的命令来清除历史记录 git filte
  • Git 子模块:[电子邮件受保护]:权限被拒绝(公钥)。致命:无法从远程存储库读取

    我有一个问题git submodule update init remote 我收到错误 权限被拒绝和克隆失败 但我将 SSH 密钥添加到了我的 github 存储库中 我可以拉 推 git 克隆 我拥有所有需要的访问权限 我使用操作系统
  • Git - 推送到远程存储库中的远程跟踪分支

    当简单地做git push到远程存储库 其master分支得到更新 对于非裸存储库来说 这是不希望出现的情况 最近的 Git 版本显示的警告消息清楚地表明了这一点 我希望能够推送到远程存储库 并拥有其之一远程追踪分支进行更新 稍后 当我登录
  • Git 命令显示我对给定远程的权限

    同事可以从远程存储库获取数据 但不能推送到远程存储库 我怀疑他对遥控器只有读权限而没有写权限 我可以通过多种方法来检查这一点 但我想不出他可以在 git 中使用的方法 是否有 git 命令可以显示给定远程存储库的权限 No Git 本身不处
  • `git rm --cached` 和 `git update-index --assume-unchanged` 之间的区别?

    我不明白之间的区别git rm cached and git update index assume unchanged 我知道git rm cached
  • git subtree pull -P 不管 总是合并冲突

    问题 即使我没有进行任何更改 每次尝试拉入子树时 我都会遇到合并冲突 我在做什么 In 子树仓库 Make some changes git commit am Changes made git push origin master In
  • DVCS命令的统一

    当处理多个 开源 项目时 多个版本控制系统开始出现问题 虽然它们共享共同的操作 但我经常在输入时犯错误hg add反而git add 我记得前段时间看到过一个项目 通过提供基本命令以统一的方式访问不同的源代码控制软件提交 ci add等在外
  • git 预提交钩子格式代码 - Intellij/Android Studio

    本要点展示了如何在预提交时使用 Eclipse 格式化程序自动格式化 Java 代码 Source https gist github com ktoso 708972 https gist github com ktoso 708972
  • refname 不明确且拉取失败

    我运行了以下命令 因为我想将生产分支移回而不必先签出 git branch f production HEAD 1 现在 当我检查生产时 我收到以下警告 warning refname production is ambiguous 然后我
  • git - 更新 fork 的 master 并将我的分支重新建立到它之上?

    我分叉了一个 github 项目 然后将其克隆到本地 然后我在新分支中做了一些更改my github the project repo 然后我添加并提交了更改 并推送到我的 github 存储库并提交了拉取请求 所有者已收到我的请求 并希望
  • 如何将更改移出主分支

    基本问题 但这一直发生在我身上 进行更改working branch 切换到master git merge working branch git push cap deploy 到舞台 泡一杯新茶 然后我回来思考其他事情并开始做出一些改变
  • git reset 命令中的 ~1 是什么意思?

    git 重置 HEAD 1 我的印象是 1 的意思是 从 HEAD 开始 遵循 1 链接 并将 HEAD 标签设置为新的提交节点 我正期待着 git 重置 HEAD 2 跟随 2 个链接 然后设置 HEAD 标签 但是 如果我尝试它 我会收
  • Composer 用于下载私有 GitHub 存储库

    我无法使用 Composer 下载 github 私人存储库 php composer phar update 我收到以下错误 The https api github com repos company private1 https ap
  • 第一次使用node.js - “ReferenceError:节点未定义”

    我刚刚安装了node js 我尝试编写应该检查版本的node v 但它不起作用 这是输出 gt node v ReferenceError node is not defined at repl 1 2 at REPLServer self
  • 致命:.git/info/refs 无效:这是一个 git 存储库吗?

    我有一个托管在 Assembla 上的 Git 存储库 我正在尝试执行以下操作 git push u origin master 我一遍又一遍地收到以下错误 fatal https url repo name git info refs n
  • .gitconfig 别名函数调用

    我在 gitconfig 中定义了以下别名 alias teamcity tc tc是我在我的中定义的一个shell函数 bashrc文件 由于某种原因 我收到以下错误 aafghani 03 git workday amirafghani
  • 无法从 Sourcetree 拉取 Git 远程存储库

    我生成了 ssh 密钥并配置了我的 git 和 SourceTree 我可以 git pull 并从 Git bash 执行其他操作 注意 我在 bashrc 中添加了以下内容以使其正常工作 eval ssh agent ssh add 然
  • 使用终端时 Git 推送在总计后卡住了?

    我尝试将一些文件推送到Github 总大小只有22 2M 我不知道为什么它在总行之后卡住了 我读过推送到 Github 时 Git 推送挂起 https stackoverflow com questions 16906161 git pu
  • apt-get 无法在 ubuntu dockerfile 中工作

    我对 docker 相当陌生 正在尝试通过编写自己的镜像来学习 并且目前正在阅读 Docker 的实际操作 ISBN 1633430235 在我自己的代码和书中的示例 第 146 页 中 我想通过 dockerfile 安装 git My

随机推荐

  • 如何在 Yii 中安装 AWS SDK

    我想在我的 Yii 项目中使用适用于 PHP 的 Amazon AWS SDK 但是我收到各种包含错误 例如include CFCredentials php failed to open stream No such file or di
  • 如何让 eclipse JSP 表达式语言验证接受 JSP 2.2 EL 构造?

    我有一个带有以下 JSP 标记的页面
  • 震动效果 - Flash CS6 ActionScript 3.0

    这个问题与 ActionScript 3 0 和 Flash CS6 有关 我试图让一个物体在一定时间内稍微摇晃几秒钟 我将其制作为 电影剪辑 并制作了以下代码 import flash events TimerEvent var Mach
  • 同一角度指令的多个实例会扰乱范围变量

    我在页面上多次使用该指令 例如 div div div div
  • Angular2 APP_INITIALIZER 嵌套 http 请求

    我一直在尝试使用APP INITIALIZER在引导过程中加载一些配置数据 类似于如何将从后端渲染的参数传递给 angular2 bootstrap 方法 https stackoverflow com questions 37611549
  • 如何在 Chrome 中使用 Selenium + Python 绑定控制文件的下载

    在哪里可以找到描述可与 Selenium 和 Chrome Web 浏览器一起使用的选项的文档 我想在网络浏览器中打开链接 以获取凭据 但不想下载相应的文件 pdf 或 tiff 或 jpeg 我在 Windows 7 笔记本电脑上使用 P
  • Excon::Errors::Forbidden in UsersController#update

    我正在尝试使用 Carrierwave 将图像上传到 Amazon S3 以便为我的用户提供上传头像的机会 当我添加图像文件并单击 更新 时 收到以下错误消息 Excon Errors Forbidden in UsersControlle
  • 如何使用 javascript 控制 Sass 变量

    我有一个正在生成 CSS 文件的 Sass 文件 我在 sass 文件中使用了许多变量作为背景颜色 字体大小 现在我想通过 JavaScript 控制所有变量 例如 在 style sass 中我们有 bg 000 font size 12
  • 命令行中转换命令出错

    我有一个 bash shell 脚本 如下所示 bin bash SIZES 512 1024 2048 for i in SIZES do SIZE SIZES i echo SIZE first resize original imag
  • 我需要 SQLBulkcopy 的进度条

    我的应用程序需要进度条 我正在通过文本文件将数据上传到 SQL Server 但这需要很多时间 而且我也使用了后台工作程序 但这不能正常工作 所以我只需要知道是否有任何方法可以将进度条与 SQL Bulk Copy 一起使用它告诉我插入了
  • Python:如何让程序等待函数或方法完成

    程序经常需要等待函数完成其工作 有时恰恰相反 主程序不需要等待 我举了一个简单的例子 有四个按钮 单击每个将调用相同的calculate 函数 唯一的区别是函数的调用方式 直接打电话 使用队列 每个线程完成后将结果放入队列中 然后您只需读取
  • 我必须使用 SVN API 或库访问/提交/更新 WPF 应用程序中的 SVN 存储库 [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 任何可用于从 net 应用程序访问 SVN 的好库 使用 C 到目前为止我发现的唯一 3 个我会尝试的
  • 如何使用 easy_install 安装 django 旧版本?

    我刚刚因为 django 1 3 破坏了我的环境 我的网站都无法运行 因此 我决定使用 virtualenv 来设置不同 python 版本以及 django 的虚拟环境 但是 似乎如果我下载软件包并使用 sudo python setup
  • 阵列部件访问

    我试图更好地理解数组 请原谅我的基本问题 因为我三周前刚刚打开我的第一本 php 书 我知道您可以使用 foreach 或 for 循环 检索键 值对 如下所示 stockprices array Google gt 800 Apple g
  • II 错误:应用程序代码隐藏=“Global.asax.cs”继承=“nadeem.MvcApplication”

    我正在尝试部署我的网络项目 但不断收到此错误 Line 1 我看了这个帖子 解析器错误 应用程序中的服务器错误 https stackoverflow com questions 11596352 line 1 application co
  • MySQL Regexp 是否支持 Unicode 匹配

    有谁知道Mysql的正则表达式是否支持unicode 我一直在做一些研究 大多数博客等似乎都表明存在问题或不受支持 我想知道是否最好使用 LIKE 进行 unicode 模式匹配 使用 regexp 进行 ASCII 增强模式匹配 我喜欢能
  • 具有非正则截距项的 Scikit-learn 岭回归

    scikit learn 岭回归是否在正则化项中包含截距系数 如果是 是否有办法在不正则化截距的情况下运行岭回归 假设我拟合岭回归 from sklearn import linear model mymodel linear model
  • RxJS forkJoin 未完成

    当我订阅 getAllSubModules 时 forkJoin 会毫无错误地执行所有这些可观察值 但不会完成 我知道 forkJoin 仅在其所有可观察值完成后才完成 但作为证据 我在控制台中看到 3 次 这确认一切都成功 因此所有可观察
  • jqGrid 过滤器工具栏仅显示单列的搜索运算符选择器

    我有包含许多列的 jqGrid 表 使用过滤器工具栏在网格中进行搜索 对于大多数人来说 搜索只是简单的默认运算符 对于一个日期时间列 我需要不同类型的运算符和日期选择器选择器 我已经添加了dataInit日期选择器初始化为searchopt
  • 如何将最后 N 次提交压缩在一起?

    如何将最后 N 次提交压缩为一次提交 你可以很容易地做到这一点 无需git rebase or git merge squash 在此示例中 我们将压缩最后 3 个提交 如果您想从头开始编写新的提交消息 这就足够了 git reset so