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 子模块未在 Jenkins 构建中更新

    我在詹金斯的一个项目中有一个子模块 我已启用高级设置以递归更新子模块 当我运行构建时 我看到工作区包含子模块中的文件 问题是 它似乎是子模块的第一个修订版 当我推送更改 托管在 GitHub 上的存储库 时 Jenkins 似乎没有更新子模
  • 我如何知道哪些文件已在 git 中标记为“假设未更改”

    这个答案 https stackoverflow com a 936325 554807向您展示如何将 git 管理的文件标记为 我不希望从该文件的存储库进行更改 IE 拥有该文件的您自己的本地未跟踪版本 即使它仍然受到 git 的修订控制
  • 错误:无法锁定引用..“引用/标签”存在;无法创建“参考/标签/”

    当我尝试从 github 中提取更改时 出现奇怪的 无法锁定引用 错误 我尝试过 git gc 并查找类似的错误 但找不到解决方案 gt git pull error cannot lock ref refs tags v2 8 refs
  • Git 存储库损坏(标头检查不正确;松散对象已损坏)

    昨天晚上我在写提交消息时遇到了电源故障 当我重新启动机器时 我无法完成提交 我跑了git reset 添加回更改的文件 然后再次尝试 得到 git commit error inflate data stream error incorre
  • 在 Git 中查看已删除的文件

    我已使用 Git 删除了一个文件 然后又提交了 因此该文件不再位于我的工作副本中 我想查看该文件的内容 但不想真正恢复它 我怎样才能做到这一点 git show HEAD path to file 您可以使用显式提交标识符或HEAD n查看
  • 是否有任何 git merge-strategies 可以忽略提交上的子模块更新或分支合并到目标分支?

    我的用例是 我有一个包含子模块的存储库的两个分支 我想设置这两个分支的自动集成 但是 只要两个分支上都有子模块更新 我的自动集成脚本就会因子模块冲突而失败 有没有办法让 git 在合并过程中忽略子模块指针的变化 或者提供类似的东西merge
  • 是否有一个 Git 命令可以在推送到 master 之前添加通知/警告

    我有一个用例 其他人依赖我在从 master 下拉时没有启用标志 但我需要在本地处理存储库时启用它 我希望 希望 Git 有一种方法可以添加通知或警告 当请求推送到 master 时会触发 作为某种 提醒 所以也许我的工作流程可能是这样的
  • 如何在 *Windows* 中将 Mercurial 存储库转换为 Git? [复制]

    这个问题在这里已经有答案了 可能的重复 在 Windows 上将 Mercurial hg 存储库转换为 Git 7 https stackoverflow com questions 3267232 converting a mercur
  • 如何使用git查看指定版本的Webkit?

    谢谢 从链接http trac webkit org wiki UsingGitWithWebKit http trac webkit org wiki UsingGitWithWebKit 使用 git 检查 Webkit 有以下 3 个
  • 将 git 存储库拆分为压缩的公共和初始私有

    我想在 Github 上开源一个项目 有相当多的提交 超过 2k 我会将它们压缩成一个 初始提交 以便从一个干净的代码库开始并隐藏一些历史内容 问题是 是否有可能 保留一个包含所有初始提交的私有存储库 其中会有一些秘密密钥 travis c
  • git | git将旧提交移至另一个分支的过去

    我过去错误地进行了分支 并且在另一个分支的开头留下了一个提交 03431cb HEAD gt bar a2 d332e4d foo b2 9b29ae3 b1 4656a98 a1 6ebca20 master root 我怎样才能移动a1
  • 哪些Git命令无法在本地执行?

    当我和同事谈论 Git 时 我告诉他们 一旦本地存储库初始化 只有三个 Git 命令不能在不访问远程存储库的情况下执行 假设origin当然 不在本地计算机上 git fetch http www kernel org pub softwa
  • 卡在 git 提交窗口

    我被困在这个窗口了 我做了一个git add a就在之前 然后git commit在 git cmd exe 中 我怎样才能离开这里 我写了我的提交消息并按回车键 但什么也没发生 我担心只是关闭窗口 我在互联网上找不到任何内容 官方网站没有
  • git:键不包含节

    我使用的是 Git 版本 1 8 4 2 When I press tab to auto complete any command it prints the error below and it also completes the c
  • 无法连接到存储库:执行 git 命令时出错:git ls-remote -h ***public github url *** HEAD

    I have installed jenkins on ec2 instance when i try to configure my public github repo with the ec2 instance then it thr
  • 用于维护项目扩展分支的 Git 工作流程?

    我们在 GitHub 上分叉了一个 OSS 项目 并向其添加一些自定义扩展 我们希望将我们所做的一些更改发送回原始项目 错误修复等 但其他更改是原始项目维护者目前不感兴趣的功能扩展 我正在尝试找出管理这种情况的最佳工作流程 我希望我们的主分
  • 如果在不同的分支上,为什么我不能重新建立源变更集的祖先?

    我想知道为什么以下模式不可能 创建了一个本地功能分支 minor feature 不打算与世界共享 后 我想将其上的工作重新建立到一个众所周知的分支 稳定 的尖端 然而我发现 在稳定版自从分支以来没有取得任何进展的情况下 rebase 找不
  • 无法重新索引 magento 1.7.0.2 卡在“处理”上

    我的 magento 索引中有九分之七停留在 处理 状态 我需要重新索引它们才能正确显示我的网站 我通过 ftp 访问我的 var locks 并删除其中的两个文件 但是当我刷新索引页时 它们只是重新出现 index process 3 l
  • 你遇到过哪些 git 陷阱?

    我遇到的最糟糕的情况是 git 子模块 我在 github 上有一个项目的子模块 该项目无人维护 我想提交补丁 但无法提交 所以我分叉了 现在子模块指向原始库 而我需要它指向 fork 因此 我删除了旧的子模块 并将其替换为同一提交中新项目
  • Gitflow错误无法初始化

    我已经将 gitflow 安装在我的 github 项目所在的目录中 但是 当我尝试使用命令 启动时git flow init 我收到以下错误消息 git flow init C cygwin64 usr local bin gitflow

随机推荐

  • 当 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 - 到底发生了什么?

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