Git 合并,不包括从一个分支到另一个分支的提交

2024-03-30

在开发过程中,我经常需要提交和推送“中间”提交,即提交代码不可编译或正在更改某些内容等。我不想进行此类提交,但这是轻松继续我的工作所必需的从办公室到家里,有时其他开发人员可以为他们提供开始工作的基础。

我以为我已经找到了解决这个问题的方法:

  1. 我创建一个单独的“dev”分支并进行所有中间提交。

  2. 一旦代码处于良好状态,就进行合并以掌握。因此,主节点不会包含“中间”提交,而仅包含“正常”提交。

  3. 删除包含所有中间提交的“dev”分支。

但这行不通。当我进行合并时,不仅合并提交包含在 master 中,而且还包含来自“dev”分支的所有“中间”提交。因此,删除“dev”分支不会产生任何影响,其“中间”提交仍保留在那里。

所以问题是:是否有可能以 master 只包含自己的提交 + 合并提交而不包含第二个分支的提交的方式进行合并?如果不可能,您能否建议我如何实现我的目标 - 能够临时保存中间结果,但以后也能无缝删除它们?


当您将“dev”分支合并到 master 时,请尝试

git checkout master
git merge --squash dev
git commit -m "Add new feature."

The --squash选项会将所有中间更改压缩为一个重大更改。

您还可以使用git rebase --interactive如果您需要更多有限的控制(例如,重新排序提交 http://git-scm.com/book/en/Git-Tools-Rewriting-History#Reordering-Commits并做多个小南瓜)。这个答案 https://stackoverflow.com/a/2427520/250168解释了之间的差异git merge --squash and git rebase --interactive.

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

Git 合并,不包括从一个分支到另一个分支的提交 的相关文章

  • Git worktree prune - 它有什么作用?

    我在用着git 版本 2 14 2 windows 2并调用 git worktree add
  • 如何存储和计算版本控制历史记录?

    考虑这个简单的 python 代码 它演示了一个非常简单的字典版本控制设计 def build current history current for action key value in history assert action in
  • git Push Remote:警告:hooks.mailinglist 有多个值

    我刚刚从使用 gitosis 升级到 gitolite 电子邮件通知适用于所有存储库 但对于 gitolite admin 存储库 我在推送时收到此警告 推送很好 git push remote warning hooks announce
  • 为什么 git 默认执行快进合并?

    来自 Mercurial 我使用分支来组织功能 当然 我也希望在我的历史中看到这个工作流程 我使用 git 开始了我的新项目并完成了我的第一个功能 当合并该功能时 我意识到 git 使用快进 即如果可能的话 它会将我的更改直接应用到主分支
  • 显示其 diff 包含特定字符串的所有提交

    正如标题所说 我想找到每个差异包含特定字符串的提交 目前 我使用 git log p filename 它显示了不太像每个差异的界面 我在其中搜索字符串 然后我回溯以找到实际的提交消息 简单的替代方案可能是将 git log p 通过管道传
  • 无法让 TeamCity 使用默认私钥向 GitHub 进行身份验证

    我正在尝试让 TeamCity 构建我的私人 GitHub 存储库 当我显式设置密钥文件的路径时 我能够成功让我的 VCS 根通过连接测试 然而 尽管进行了大量的谷歌搜索 当我使用 默认私钥 选项时 我无法让它工作 我明白了com jcra
  • Jenkins 多分支:更改 Groovy 的工作描述

    我在詹金斯的多分支项目工作正常 但我想修改job描述 默认情况下为 完整项目名称 xxxx 以更有意义 我可以使用以下命令轻松更改构建描述currentBuild当我的变量Jenkinfile已执行 但我不知道如何修改父作业描述 我的用例是
  • 如何使用 vim 作为寻呼机设置彩色 git diff

    我无法配置 git 来遵循我的请求 使用 vim 作为差异分页器 在交互模式下添加文件时保留差异颜色 My gitconfig setup color ui auto diff false pager diff vim 通过此配置 交互模式
  • 如何仅隐藏一些未提交的更改?

    我正在对 Git 存储库进行重大更改 并意识到某些更改需要向后移植到错误修复分支 我不想签入我的所有更改master因为它们还没有经过充分的测试和准备 但我确实想提取其中一些更改并将它们提交到错误修复分支 然后按原样返回到 master 我
  • 如何使用和理解wso2 git仓库?

    我刚刚开始对wso2感兴趣 我正在寻找移动设备管理解决方案 所以我测试了 wso2 EMM 但我发现了一些限制 我想知道是否可以自己实现 我的问题是我完全迷失在 wso2 git 存储库中 有没有我错过的指导书或逻辑 如果有人帮助我解决这个
  • 中止 `git stash apply` [重复]

    这个问题在这里已经有答案了 我很遗憾应用了存储 错误的分支 我如何撤消此操作并将我的存储返回到我的存储列表 以便稍后将其应用到正确的分支 如果你还没有承诺 你应该能够git stash再次 可能与git reset HEAD first A
  • git log 不按时间顺序排列

    我在一个公共项目 B2G 又名 FirefosOS 上意外发现 git log 输出不是按时间顺序排列的 git clone https git mozilla org releases gecko git git log graph fo
  • 目标路径已存在且不是空目录

    我克隆了一个 git 存储库 但不小心弄乱了 所以我重新克隆并显示消息 目标路径已存在且不是空目录 我尝试过删除 Mac 中带有目标路径名称的文件夹 但没有成功 我对编码非常陌生 因此我们将不胜感激 对于根文件夹 以及任何其他文件夹 对于那
  • 我可以将我的heroku git repo导入bitbucket吗?如何?

    我的笔记本电脑坏了 我需要从另一台计算机上编码 我正在使用 Heroku 我想将最新版本的代码从 Heroku 获取到另一台机器 据我了解 强烈建议使用 GitHub 或 BitBucket 获取适当的远程存储库 我决定尝试一下 BitBu
  • 使 .git 目录 web 不可访问

    我有一个网站 我使用 github 闭源 来跟踪更改和更新网站 唯一的问题是 git 目录似乎可以通过网络访问 我怎样才能停止这个并且仍然能够使用 git 我应该使用 htaccess 吗 我应该更改 git 的权限吗 把这个放在一个 ht
  • Git:如何维护项目的两个分支并仅合并共享数据?

    假设我有一个项目的两个分支 IMClient MacOS 和 IMClient Windows 它们的代码仅 比方说 一个目录 main 有所不同 所有其他目录都包含与系统无关的代码并且可以互换 有些工作人员在 Windows 版本上工作
  • 在功能分支上运行测试

    我有一个构建配置 其中包含连接到 git 分支的测试 VCS 根dev 3 个构建步骤和 1 个触发器 这些是我的构建步骤 构建测试 运行测试 构建和部署 我想为分支运行所有这些构建步骤dev但只有其中两个 构建和运行测试 用于分支匹配fe
  • 合并多个 git 存储库

    假设我有一个看起来像这样的设置 phd code phd figures phd thesis 由于历史原因 这些都有自己的 git 存储库 但我想将它们合并为一个 以稍微简化事情 例如 现在我可能会进行两组更改 并且必须执行类似的操作 c
  • 无法从另一台计算机访问 git 分支

    基本上我看不到另一台计算机上的分支 我跑 git branch a 在家用电脑上我得到 C learn ror sample app filling in layout gt git branch a filling in layout m
  • 名称和电子邮件在 Git 的每用户配置文件中设置,但 Git 仍使用默认生成的名称和电子邮件

    标题已经说了 但我会更彻底地解释一下 我已使用以下命令按照建议配置了用户名和电子邮件 git config global user name git config global user email 我可以通过执行以下操作来验证这是设置的g

随机推荐

  • SQL Developer 清除脚本中的绑定变量

    我正在编写一个脚本 其中多个后续过程需要一个过程的输出 所以 我需要绑定变量 而不是替换变量 但是 每当使用该变量时 它就会被清除 这使得不可能多次使用变量的值 完全相同的脚本在 SQL Plus 中运行 我在下面制作了一个简短的脚本来演示
  • 警告:“继续”目标开关相当于“中断”。您的意思是使用“继续2”吗?

    我有 php7 3 和 symfony2 8 当我尝试使用控制台创建类时 出现此错误 Symfony Component Debug Exception ContextErrorException 警告 继续 目标开关相当于 中断 你的意思
  • 如何在kubernetes中指定Proxy Pass

    我的资产在 s3 上 我的服务部署在 kubernetes 上 是否可以在 nginx ingress conf 中定义代理传递 我当前的 nginx proxy pass 资产到 s3 我想在 kubernetes 中复制 locatio
  • 注册成功后如何分配角色?

    我正在使用 fos 用户捆绑包和 pugx 多用户捆绑包 我已阅读所有文档 并且我是 Symfony 的新手 在 pugx 多用户捆绑包中 每个点都有一个示例 但只有一个 成功注册 覆盖控制器的示例生成表格 gt 好的 覆盖模板的示例生成表
  • 为什么 Actor.receive 是偏函数?

    Why is Actor receive部分功能 我总是可以使用带有匹配表达式的正则函数来代替它 It is a PartialFunction捕获消息被处理或未处理的可能性Actor 未处理的消息将 不让演员失败MatchError 产卵
  • Laravel eloquent 获取数据库列中最常见的值

    从一个表animals我有以下值animal name column cat dog cat 我想从中提取 猫 这个词 因为它是该专栏中最流行 最常用的词 我如何使用 laravel eloquent 做到这一点 雄辩 App Animal
  • java.lang.String 类型中没有由 @DynamoDBHashKey 注释的方法或字段

    我不知道为什么不运行这个项目 Data DynamoDBTable tableName tableName public class entityName implements Serializable private static fin
  • 使用 JavaScript 将当前日期放入 PDF 表单的文本字段中

    我喜欢创建一个 PDF 打印时包含打印的日期和时间 因为实际更改 PDF 内容需要 PDF 编辑器 所以我认为使用 PDF 表单 即包含可填写表单的 PDF 其中一个文本字段会在打印 PDF 时自动更新为当前日期和时间 PDF 的实际创建不
  • 仅 Grep 第一个匹配项并停止

    我正在使用 grep 递归搜索目录 并使用以下参数希望只返回第一个匹配项 不幸的是 它返回了不止一个 事实上 我上次查看时返回了两个 似乎我有太多的争论 尤其是没有得到想要的结果 grep o a m 1 h r Pulsanti Oper
  • IO 的“最佳”ExecutionContext

    我的 Scala 代码中有一些同步调用 我将它们包装在阻塞 上下文中 然后包装在 Future Future blocking syncCall 中 但我不知道要使用哪种类型的 ExecutionContext 我知道可能有很多可能性 并且
  • 如何更正此错误:未找到数据源名称且未指定默认驱动程序

    我有一个在 Windows 服务器上运行的网站 它运行得很好 我尝试在本地主机中进行复制 但收到错误 Warning odbc connect function odbc connect SQL error Microsoft ODBC D
  • 通过网络发送的数据的字符串压缩/解压缩[关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我正在寻找 C 中的字符串压缩方法 可以在将数据字符串写入网络套接字之前对其运行 我对任何类型的压缩都相当陌生 因此我在这里寻求一些建议
  • GitHub 中的发布到底是什么?

    究竟是什么 它是用来做什么的 使用范围有多广泛 通常如何使用 来自官方GitHub https help github com articles about releases Releases are GitHub s打包并向用户提供软件的
  • 替换每列的最大值

    我有一个矩阵 我想用 1 替换每列的最大值 我怎样才能在R中做到这一点 我试过 set seed 14 mat lt matrix sample 10 20 replace TRUE nr 5 apply mat 2 which max 1
  • 为什么 false == "false" 是假的?

    我仍在学习 javaScript 的基础知识 我不明白为什么会发生这种情况 有类型强制false false 将转换为 false false true or false false true So why false false 是假的吗
  • JQMIGRATE:jQuery.fn.attr('selected') 可以使用属性而不是属性

    operatordelivery attr checked true 您好 我目前正在将 jQuery 版本迁移到 jQuery 2 1 1 我可以在控制台中看到警告JQMIGRATE jQuery fn attr selected may
  • 使用 Jsoup 提取 Span 标签数据

    我正在尝试使用 Jsoup 提取 html 中的特定内容 下面是示例 html 内容 div class shop section line bmargin10 tmargin10 div class price section fksk
  • Android 无法禁用剪切复制粘贴

    我无法禁用复制粘贴选项 在三星 Galaxy S2 上 如果我单击编辑文本 则会出现一个箭头 单击该箭头时 所有选项都会出现 onCreateContextMenu 尚未被调用 在 onUserInteration 中 我只是使用 setT
  • 如何在 gtk2hs 中的事件处理程序之间传递状态

    我正在尝试制作一个玩具应用程序 只是为了了解如何在 Haskell 中编写事件驱动程序 我想做的是在画布上画一条线 每次按下按键时该线都会向前移动 所以它有点像文本编辑器中的原始光标 我的问题是我无法找出计算用户按键次数的最佳方法 显然我不
  • Git 合并,不包括从一个分支到另一个分支的提交

    在开发过程中 我经常需要提交和推送 中间 提交 即提交代码不可编译或正在更改某些内容等 我不想进行此类提交 但这是轻松继续我的工作所必需的从办公室到家里 有时其他开发人员可以为他们提供开始工作的基础 我以为我已经找到了解决这个问题的方法 我