repo sync之后不能自动 rebase 的定位

2023-05-16

背景
最近在使用repo sync同步代码时老是报告:branch xxx is published (but not merged) and is now 1 commits behind。我之前是由推送过一笔提交,但是最后由于某种原因,我在Gerrit上Abandoned掉了这笔提交。

当时就觉得这和本地仓库可能有某种关联,只不过没有去细究,而是手动进行了rebase。
最后在.repo/repo/project.py中找到了相关信息:

    upstream_gain = self._revlist(not_rev(HEAD), revid)
    pub = self.WasPublished(branch.name, all_refs)
    if pub:
      not_merged = self._revlist(not_rev(revid), pub)
      if not_merged:
        if upstream_gain:
          # The user has published this branch and some of those
          # commits are not yet merged upstream.  We do not want
          # to rewrite the published commits so we punt.
          #
          syncbuf.fail(self,
                       "branch %s is published (but not merged) and is now %d commits behind"
                       % (branch.name, len(upstream_gain)))
		  return

当即恍然大悟,果然在对应的的.git/refs发现了一个published的链接文件,这个文件链接到repo项目下对应的仓库,查看其内容:里面记录了我在Gerrit上Abandoned掉的这笔提交。删除这个文件,在进行repo sync,顺利进行!

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

repo sync之后不能自动 rebase 的定位 的相关文章

  • 如何将一个 Git 存储库变基到另一个 Git 存储库?

    我有一个 Git 存储库 A 其中包含项目到某一时刻的开发情况 然后我丢失了这个存储库 A 所在的 USB 记忆棒 幸运的是 我有最新提交的备份 因此我可以稍后创建一个新的存储库 B 在其中导入最新项目的状态并继续开发 现在我恢复了丢失的
  • 当更漂亮的格式应用于整个项目时如何变基

    有人将整个代码库中更漂亮的格式更改合并到我们的master main develop branch 我现在正在尝试重新调整最新的master main develop分支 并解决合并冲突 由于冲突只是由运行 prettier 格式化代码引起
  • '忽略' git rebase '他们的' 中的二进制文件

    我想从此走下去 A B C D E F G 其中 Branch1 指向 E Branch2 指向 G to this Branch1 A B C D E Branch2 F G 我希望 Branch2 始终 获胜 我已经做到了这一点 git
  • repo 覆盖 element 项目的远程 URL,无需更改

    是否有任何回购同步选项可以覆盖远程网址按指定项目例如 我有本地内核 git 存储库和一些修补程序 驱动程序移植等所以我想运行这样的假命令而不进行修改 repo manifest xml 仓库同步 project remote url git
  • 如何在 `git merge` 之后使用 `git rebase -i` 而不会弄乱事情?

    我有以下情况 我对本地存储库进行了一些提交 然后将另一个分支 约 150 次提交 大量合并到主分支中 这里面有很多冲突 现在 我想将合并之前所做的提交移到推送之前的提交之后 通常情况下 我会使用rebase i for it 不幸的是 默认
  • merge --squash 和 rebase 有什么区别?

    我试图理解壁球和变基之间的区别 据我了解 在进行变基时会执行挤压 Merge commits retains all of the commits in your branch and interleaves them with commi
  • 为什么重放现有提交时 git pull --rebase 会失败?

    我不明白 当我 git pull rebase 远程分支 时 它会将我的 HEAD 恢复到其共享根 然后开始重放同时发生的所有远程提交 为什么这些提交有时会失败 它们是干净工作区上的干净提交吗 这不就是rebase的重点吗 你确定不是吗yo
  • 更改 git 中分支的根目录

    我正在使用 git 并且想要更改现有分支的基础 这是由部署系统引起的 该系统将该显式分支拉入我的生产环境 在规划我的发布时 我每次想要上线时都会创建一个标签 但我的分支也有特殊的变化 所以git reset hard v1 0行不通的 这是
  • 变基以及变基推送提交意味着什么

    人们常说 您不应该对已经推送的提交进行变基 这可能意味着什么 To understand this we need to understand a bit about how git works A git repository is a
  • 没有冲突的合并是否等于没有冲突的rebase?

    这是正确的吗git merge当且仅当相应的git rebase会在没有冲突的情况下成功吗 不 事实上有一个简单的情况 合并工作正常 但变基却不行 o A lt mainline B C C lt branch where C是一个与以下冲
  • git 的 -X “他们的” 不处理新的/删除的文件冲突吗?

    以下场景来自this https stackoverflow com questions 4507288 ignore binary files in git rebase theirs问题 我正在执行git rebase s recurs
  • 当 git pull 引起冲突但 git pull --rebase 没有冲突时,这意味着什么?

    我正在从只有我有权访问的存储库中提取数据 据我所知 我只从一个存储库推送到它 有几次 我尝试推动它并得到了这个 To email protected cdn cgi l email protection tsched dev git rej
  • 自动重新调整整个存储库的基础以重组和应用 Prettier

    我想清理一个具有一年提交量 总共大约 4000 次 的存储库的历史记录 一位贡献者一直不同意格式化标准 并多次更改 Prettier 配置文件 或者根本不使用 Prettier 结果 git 的历史就像一场外观变化的拉锯战 差异巨大 而真正
  • 为什么“git bisect”分支不知道?

    我正在尝试找到自过去一天在一个长期存在的分支 将在很久以后发布 上提交以来出现的错误的来源 该分支称为特征 x 但有一个错误 我发现我的脚本中没有预期的行为 到目前为止 这些行为可能已在任何提交中引入 特别是因为 master 的功能在 f
  • Git:从失败的变基中恢复

    我只是试图重新调整我的一个功能分支 但出现了问题 现在我正在尝试找出如何撤消此操作 在我的功能分支上 我简单地做了一个 git rebase develop提交错误修复后develop我也在功能分支中想要它 这给了我 git rebase
  • repo 同步命令的替代方案是什么?

    我是 git 新手 我想在完成后手动执行清单文件repo init 而不是做repo sync 测量正常 git 命令和repo sync在不同的情况下 但我不确定 repo 使用哪个 git 命令 我知道repo只是大型代码库的 git
  • 使用Source Tree,rebase有冲突,冲突解决后rebase不起作用

    我在用着源树 http www sourcetreeapp com 作为我在 Windows 上的 git 工具 我有一个main分支和一个feature分支 当我有冲突时 我无法让 SourceTree 执行变基 main好像 c1 gt
  • 变基时如何处理与给定策略的特定合并冲突?

    假设我正在执行交互式 git rebase 以整理我的存储库 例如重新排列 分离或压缩提交 git rebase i HEAD 100 还说我预计会遇到许多合并冲突 其中所需的行为是像传递一样解决 s recursive X theirs
  • Git 工作流程和 Gerrit

    我正在尝试使用 Gerrit 实现 git flow 类型的工作流程 但我似乎无法弄清楚最后一块拼图 我的问题有两个先决条件 Gerrit 只会对一个分支执行合并 我不允许将合并提交推送到 Gerrit 更改获得批准后 合并必须由 Gerr
  • 为什么 reposync 没有签出我在清单文件中指定的分支?

    假设我有以下清单文件repo https source android com setup develop repo tool MCVE https stackoverflow com help minimal reproducible e

随机推荐

  • C++ 设置double精度

    设置double精度 在这里插入代码片 span class token macro property span class token directive keyword include span span class token str
  • GitLab 出现错误Could not resolve host: xxx-xxx

    错误原因 xff1a 域名解析错误 解决办法找 打开hosts 在最后一行添加 192 30 xxx xxx gitlab
  • TeeChart控件_动态创建

    在安装目录下找到TeeChartxxxxx ocx 以管理员的身份打开cmd 注册TeeChartxxxxx ocx regsvr32 TeeChartxxxxx ocx VS2015 使用TeeChart绘图控件 CRect rect s
  • Nginx

    Nginx 介绍 Nginx是一款轻量级的Web 服务器 反向代理服务器 电子邮件 xff08 IMAP POP3 xff09 代理服务器 xff0c 并在一个BSD like 协议下发行 由俄罗斯的程序设计师Igor Sysoev所开发
  • 上电自动开机

    上电开机启动是指电脑主机在UPS恢复供电时可以自动开机 该功能必须要求电脑主板型号支持 xff0c 进入电脑的BIOS进行设置使用 不同型号的电脑的BIOS设置会有区别 xff0c 以下仅做参考 xff1a 第一步 xff1a 开机进入BI
  • Linux网络编程【TCP】

    文章目录 TCP特点TCP中CS架构TCP状态转换相关操作函数recv函数send函数 TCP特点 TCP是一种面向广域网的通信协议 xff0c 目的是在跨越多个网络通信时 xff0c 为两个通信端点之间提供一条具有下列特点的通信方式 xf
  • 博客资源整理

    文章目录 STLLinux基础命令linux系统编程Linux网络编程Docker容器技术数据库第三方库的使用Linux编程WebQt STL 基础概念 容器 duque stack map set vector 算法 查找算法 排序算法
  • Qt编译Mysql驱动

    1找到源码 2点击编译会看到报错 1解决方案 下载相关文件 也可以私信发给你 2打开配置文件添加下面的信息 相关文件下载 3点击编译 弹出的框直接关掉就行 4在安装qt的根目录下会生成如下目录 5 找到下面的库 6 将上面的库拷贝到如下目录
  • C++中的异常语法

    文章目录 概述异常的关键子自定义异常使用栈解旋异常的接口声明异常变量的生命周期C 43 43 标准异常库 概述 C语言的异常缺陷在于返回值只有一个 xff0c 可能出现二义性 xff0c 没有统一的标准 C 43 43 中的异常必须有处理
  • 处理鼠标连续点击的问题

    处理鼠标连续点击的问题 span class token comment 上次点击时间点 span DWORD m tmClick span class token punctuation span span class token com
  • FLOPS和FLOPs、GFLOPs区别与计算

    参考FLOPS和FLOPs GFLOPs区别与计算
  • VS远程调试

    文章目录 VS远程调试本地和虚拟机调试准备工作 xff1a 需要注意的几个地方 xff1a VS远程调试 在编程中由于环境 版本等各种原因 xff0c 我们需要模拟出来各种环境来跑不同的版本测试 本地和虚拟机调试 准备工作 xff1a 以V
  • AUTOSAR基础篇之CanNM

    前言 首先 xff0c 问大家几个问题 xff0c 你清楚 xff1a 为什么要引入网络管理呢 xff1f 上电同时启动 xff0c 下电同时关闭 xff0c 它不香吗 xff1f 你知道车上的ECU节点可以分为哪几种类型吗 xff1f 汽
  • CANoe应用案例之DoIP通信

    随着ECU功能和存储容量的不断提高 xff0c 主机厂对于ECU诊断和刷写有了更高的要求 由于带宽的限制 xff0c 传统的汽车总线 xff08 如CAN总线 xff09 存在刷写时间过长的缺点 xff0c 大大降低了生产和维修效率 DoI
  • TRACE32——常用操作

    TRACE 32常用操作 TRACE32软件打开后 xff0c 连上硬件环境 xff0c 我们就可以开始尝试和芯片建立连接 xff0c 并进行基本的调试操作 第一步 xff1a 确认目标板是否上电 第二步 xff1a 打开System Se
  • TRACE32——基于SNOOPer的变量记录

    TRACE32 基于SNOOPer的变量记录 在我们日常调试工作中 xff0c 经常会遇到一种场景 xff1a 对于某些变量或者内存的值 xff0c 希望对其进行监控 当这些变量发生写或者读的时候 xff0c 将这些操作记录下来 xff0c
  • TRACE32——内存填充测试Data.Pattern

    TRACE32 内存填充测试Data Pattern Data Pattern 命令可以用于对内存 xff08 SRAM DDR Flash等 xff09 写入随机值 xff0c 以快速地测试内存是否可以正确读写 命令格式 xff1a 示
  • STM32使用printf重定向

    最近用STM32CubeMX创建了一个demo工程 xff0c 在调试过程中 xff0c printf打印功能一直不能正常打印 xff0c 检查工程中也已将fputc函数进行了实现 奇怪的是用JTAG进行调试时打印恢复了正常 最后发现问题的
  • repo的安装和使用

    前言 Android 采用 Gerrit 提供代码评审服务 xff0c 并且开发了一个客户端工具 repo xff0c 实现多仓库管理 Git 的开发者对服务端的 Git 源码做了扩展 xff0c 使得基于 Git xff08 cgit x
  • repo sync之后不能自动 rebase 的定位

    背景 最近在使用repo sync同步代码时老是报告 xff1a branch xxx is published but not merged and is now 1 commits behind 我之前是由推送过一笔提交 xff0c 但