Git Rebase 期间的 Git Commit - 到底发生了什么?

2024-02-01

我正在寻找一个很好的描述,说明如果在变基期间提交会发生什么,以及如何以一种简单的方式“恢复”这一情况。

让我们考虑一个场景,其中一个大型提交被重新设定。在变基期间出现冲突,用户开始合并更改。 现在,想象一下这样一个场景:你快完成了,但你没有打电话git rebase --继续- 无论出于何种原因(无论是长周末还是此类)。下周你就恢复了工作,仍然在变基期间。最后,你打电话git commit --修改将更改附加到最后一次提交并且...它们最终会出现在您要变基的提交中。

当然,您始终可以检查开始变基的提交并“破解” - 例如,尝试复制修改中的所有文件,但这可能会删除同时引入的更改。

有没有一个干净、好的方法来解决这个问题?这是我应该小心的一种特殊状态,我永远不想陷入这种状态,但它仍然偶尔会发生 - 我最终花了一整天的时间试图把事情搞清楚。

我非常感谢所有的帮助和建议。谢谢你!


对于这种情况有两种建议的解决方案。

  • 第一个解决方案是将最终结果重新设置回原始基础提交。这将需要您再次解决类似的合并冲突,但是完成后您的提交应该回到正轨。

  • 对我有用的替代解决方案是分支出与您修改的提交相同的点(它带有 SHA,应该用作结帐基础)。然后创建一个新分支并调用git merge --no-ff --no-commit --strategy=theirs other_branch,其中 *other_branch* 是不幸提交的分支。

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

Git Rebase 期间的 Git Commit - 到底发生了什么? 的相关文章

  • Git:在本地合并远程分支

    我已经通过以下方式拉取了所有远程分支git fetch all 我可以看到我想要合并的分支git branch a作为远程 原点 分支名称 问题是它无法访问 我无法合并或结帐 您可以参考那些远程跟踪分支 列出git branch r 及其遥
  • 使用两个帐户推送到 Git

    我跟着这个tuotrial http code tutsplus com tutorials how to work with github and multiple accounts net 22574关于如何在同一台计算机上拥有两个单独
  • 您对版本控制进行到什么程度了? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 恢复 git reset --soft

    我修改了我的分支中的一些文件并做了一个 git add all 但这添加了一些我不打算为提交添加的文件 所以我做了一个 git reset soft HEAD 2 instead of doing git reset HEAD 但之前的提交
  • 如何获取第一次提交的 Git diff?

    我创建了一个存储库 在其中创建了一个文件 在文件中放入了一些内容 然后提交了该文件 现在 我想查看该提交的差异 理想情况下应该显示添加的文件以及添加到其中的行 然而 git diff HEAD HEAD回报fatal ambiguous a
  • 如何使用 git hook pre-merge-commit 获取原始合并分支名称

    我正在尝试使用新的 git hook pre merge commit 创建一个特定的脚本 但它没有参数 有什么解决方法可以让我获得正在合并的分支的名称吗 例子 在分支 myBranch 上 我调用 git merge testingBra
  • git for-each-ref - 按年龄过滤结果

    我正在使用以下命令here https stackoverflow com a 39251131 5812876 git for each ref format color cyan authordate format m d Y I M
  • EGit(Eclipse git 插件)可以使用 SSH 密钥代替用户名和密码吗?

    我需要提交的 git 中央存储库是使用 SSH 密钥配置的 我的用户名是jmglov 但是当我执行 git 操作时 例如git clone 我使用这个配置 jmglov kitiara cat git config remote origi
  • Git 在推送代码时返回错误 403 [重复]

    这个问题在这里已经有答案了 一切都工作正常 直到我创建了一个新的 GitHub 帐户 当我尝试使用新帐户第一次将代码推送到 github 服务器时 出现以下错误 remote Permission to NEW USER NEW REPO
  • 如何查看 github 的 SSH 密钥?

    我最近收到一封来自 Github 的电子邮件 要求我检查我的 SSH 密钥 请检查您的钥匙并确保您 认出他们 如果您有任何疑问 请拒绝钥匙并 上传新密钥 如何在 ubuntu 11 10 上使用 git 检查我的密钥 您可以按照 GitHu
  • Eclipse 与外部 src 和 Web 内容文件夹链接或映射

    首先这不是问题但是我遇到的问题的解决方案浪费了4 5个小时来找到解决方案 请让我知道是否有更好的替代方法来使用 eclipse 项目管理外部 src 文件夹 我正在使用版本控制系统 GIT 来管理我的项目 还使用外部 Git 客户端 Sou
  • 如何使用 vim 作为“git show”编辑器?

    全部如所述如何使用 vim 作为 git log 编辑器 https stackoverflow com questions 16666009 how do i use vim as git log editor不适用于 git show
  • ssh 连接超时

    我无法在 git 中 ssh 到 github bitbucket 或 gitlab 我通常会收到以下错误消息 如何避免它 输出 ssh T email protected cdn cgi l email protection i ssh
  • 无法从我的电脑上使用 traefik 后面的 gitlab 进行 git 克隆

    这是我的 gitlab 和 traefik 配置 version 3 7 services gitlab web image gitlab gitlab ce latest restart always hostname gitlab ro
  • 如何在Windows上分离“Git bash”中启动的“git gui”?

    例如 我开始 git bash 我导航到某个目录 I start git gui 我关闭控制台窗口或按 Ctrl C Git gui 的窗口消失了 即使我用过git gui disown 即使当我按 Ctrl C 时它不在前台 如何正确分离
  • 是否可以在 git 存储库之外添加和提交文件?

    我们的文本文件分布在系统的各个角落 我们计划将这些文件中所做的所有修改添加到 git 存储库中 每次对这些文件进行修改都是由脚本进行的 因此 我们计划向该脚本添加新命令 以将文件添加到 git 存储库 但是 这些修改是同时进行的 我们可以为
  • Visual Studio Code 内置故事,用于查看 git 提交历史记录并对其内容进行比较

    In this https stackoverflow com questions 37899765 how can i view the git history in visual studio code 60013101 noredir
  • 自动生成/删除詹金斯工作

    我正在寻找一种自动创建一组詹金斯作业的方法 通常在创建新的 git 分支之后 我已经为maven尝试过这个插件 http evgeny goldin com wiki Maven jenkins plugin http evgeny gol
  • 致命:无法将 HEAD 解析为有效引用

    我正进入 状态fatal Failed to resolve HEAD as a valid ref 每当我尝试承诺时 我努力了 echo ref refs heads master gt git HEAD 但它不起作用 也尝试过 git
  • 如何将 GIT 调用的输出获取到批处理脚本中的变量中?

    我有一个 git 命令来获取当前存储库的最新 SHA 如下所示 git log pretty format H n 1 我有一个 Windows 批处理脚本 我想按如下方式使用它 SET CURRENT SHA 但我不知道如何将从 git

随机推荐

  • 当 C++ 线程退出时,内存是否保持分配状态?

    我在 Linux 上使用 pthread 库 我在线程 A 中分配一个字符串 然后尝试在线程 B 中打印该字符串 但是 该字符串只是打印出空 我已经验证它在线程 A 中工作 注意 该字符串驻留在一个对象内 我怀疑该对象可能会被清理或重新实例
  • Vim 中的自动换行(保留缩进)

    我只是在看这个帖子 https stackoverflow com questions 744159 word wrap in gvim描述了如何在 vim 中将整个单词换行 接受的解决方案是这样的 set formatoptions l
  • 如何仅在 SQL Server 中选择未提交的行?

    我正在从事 DW 项目 我需要查询实时 CRM 系统 标准隔离级别会对性能产生负面影响 我很想使用未提交读取的无锁 事务隔离级别 我想知道有多少选定的行被脏读识别 也许你可以这样做 SELECT FROM T WITH SNAPSHOT E
  • JConsole 通过 ssh 本地端口转发

    我希望能够远程连接到公开了 JMX 的 Java 服务 但它被防火墙阻止了 我尝试使用 ssh 本地端口转发 但连接失败 查看wireshark 当您尝试连接jconsole时 它似乎在连接到端口9999后希望通过一些临时端口进行连接 这些
  • 创建动态实现接口的类

    我正在尝试编写一段代码 允许用户加载程序集 DLL 文件 在所述程序集中选择一个接口 然后生成一个继承该接口的类 并带有所有必需方法的存根 该类将生成到文件中或活动的 VS 会话中 该代码旨在在通过自定义模板创建项目期间初始化的 IWiza
  • StackView isHidden 属性未按预期更新

    我正在尝试更新UIStackView以便显示一个字段 如果 a 的值UITextField equal Other 这是我的代码 IBOutlet var stackView UIStackView func updateView prin
  • 附加到不带标题的 CSV 文件

    我在用opencsv http opencsv sourceforge net 将 Java bean 写入带有标题的 CSV 文件 文件名包含当前日期 如果用户在同一天第二次运行它 它会追加到文件中 但会添加另一个标题行 如何附加到文件但
  • jqGrid for Twitter Bootstrap [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 仅在 50 毫秒后显示微调器

    我有一个页面 其中发生了很多 ajax 操作 我显示了一个微调器来指示正在处理请求 其中一些请求需要很长时间 而另一些请求则很快 当响应来得很快时 那些旋转器就更像是一种麻烦而不是一种帮助 这就是我想要的 仅当请求提交后超过 50 毫秒时才
  • cefsharp如何拦截xhr请求以获取响应正文值?

    CefSharp是否能够拦截XHRHttpRequest并获取响应正文值 如果是 我想知道它是如何完成的 我为此创建了以下类并从中返回它的实例IRequestHandler GetResourceResponseFilter interna
  • StringConcatFactory 中的策略

    我知道 invokedynamic 指令 我也知道它的实现的基本过程 但当我到达代码时 我无法理解其中的代码StringConcatFactory 能告诉我这六种策略的源码是如何实现的吗 也只完成了默认策略 作为一名大学生 我无法下源代码
  • CountDownTimer 更新和阻塞

    如果正确理解 CountDownTimer 它不会在启动它的活动的单独线程上运行 那么这是否意味着如果我在主活动中启动 CountDownTimer 并且稍后在该活动中阻塞另一段代码 这是否意味着 CountDownTimer 将不再更新
  • Oracle DBMS_LOB.WRITEAPPEND 到 Postgres 转换

    有人可以告诉我如何将下面的 Oracle 代码转换为 Postgresql IF prodNum 1 THEN DBMS LOB WRITEAPPEND pkgFilterNode LENGTH pkgFilter tab
  • 将 geoNear 查询与另一个值查询结合起来

    我有一个使用 node js mongodb 和 mongoose 实现的地理数据 api 我想用两个条件查询我的数据 首先 我使用 geoNear 来获取给定半径内的所有位置 效果很好 其次 我想按类型进一步过滤位置 这是我的架构 var
  • 美化 PHP 上以字符串形式存储的 HTML

    我的变量中有一个字符串 html包含精简的 HTMl 代码 全部在一行中 例如 html div p hello p div 如何美化 漂亮地打印 HTML 以便我的变量变成这样 html div p hello p div 我知道tidy
  • document.form.submit();不会在 Safari 中提交

    我正在使用 JavaScript 函数来提交我的表单 这适用于除 safari 之外的所有浏览器 我不明白为什么 我的 JavaScript 函数看起来像这样 function submitForm var selectBox sel gu
  • 尝试将 log 方法应用于 Python 中的 pandas dataframe 列时出错

    所以 我对 Python 和 Pandas 以及一般编程 非常陌生 但在一个看似简单的函数上遇到了麻烦 因此 我使用通过 SQL 查询提取的数据创建了以下数据框 如果您需要查看 SQL 查询 请告诉我 我将粘贴它 spydata pd Da
  • .NET 跟踪文件不起作用

    我正在尝试使用指向文件位置的 TextWriterTraceListener 来跟踪 Windows 窗体应用程序中发生的奇怪事情 我对其进行了设置 以便应用程序第一次需要在程序运行期间跟踪某些内容时 它会创建跟踪侦听器并注册它 但是 跟踪
  • 使用 Mod_rewrite 将 HTTP 重定向到 HTTPS

    我需要重定向自http test glad redirect TO https test glad start do 主要问题是我需要维护请求中的 POST 参数 我无法使用标准 http 重定向来执行此操作 因为 POST 参数不会按照
  • Git Rebase 期间的 Git Commit - 到底发生了什么?

    我正在寻找一个很好的描述 说明如果在变基期间提交会发生什么 以及如何以一种简单的方式 恢复 这一情况 让我们考虑一个场景 其中一个大型提交被重新设定 在变基期间出现冲突 用户开始合并更改 现在 想象一下这样一个场景 你快完成了 但你没有打电