代码之家  ›  专栏  ›  技术社区  ›  John Bachir

在执行bzr提交之后丢失了一些代码——local、bzr pull、bzr commit

  •  4
  • John Bachir  · 技术社区  · 15 年前

    我的团队中的一个开发人员一直在使用绑定到服务器的分支(即,只使用checkout、update和commit),但也经常在commit时使用--local标志,然后批量提交到服务器。她最近遇到了一种情况,她缺少一些本地承诺,并且在回购协议或本地代码中找不到它们。她怀疑这是因为她在本地提交和服务器提交之间做了一个更好的选择。

    我们两个都不是特别有巴扎的经验——可能发生了什么,我们在哪里可以找到缺少的代码呢?她相当肯定她从未做过任何破坏性的事情,我也相当肯定巴扎会问她是否会那样做。我隐约记得Bazaar有一些“隐藏的”回购协议/树/不管它把东西放在什么地方,然后改变一堆代码,从中有人可能会恢复丢失的代码,但我不能设法谷歌这是什么。

    3 回复  |  直到 15 年前
        1
  •  3
  •   John Bachir    15 年前

    我发现我所指的“隐藏的”回购协议/树木/任何东西都是“死脑袋”,用 bzr heads .

    我们找到了我们的死头,并把它合并回去——代码保存了!

    $ bzr heads
    $ # output shows various heads, with names like: revision-id: john@mycomputer-20100630175358-39qro1z5qdq2o9ay(dead)
    $ bzr merge john@mycomputer-20100630175358-39qro1z5qdq2o9ay
    
        2
  •  2
  •   thomasrutter    15 年前

    如果其他都失败了,你可以试着在Bazaar IRC频道询问。

    Go there now *漫步于BZR海峡。那里通常有人,他们通常是有帮助的。

    **这是Freenode的Web界面。如果您以前没有使用过IRC,您可以自己编一个昵称,选择BZR频道,不需要授权(只要您的昵称是唯一的)。*

        3
  •  0
  •   thomasrutter    15 年前

    任何时候你都可以

    bzr status
    

    如果有任何未提交的更改(包括尚未提交的合并),则应该这样做。这可能有助于确定一切的位置。如果您进行了合并,但没有进行提交(无论是否有冲突),那么合并的结果将保持未提交状态。

    做某事 bzr pull 不应该抹掉任何工作——据我所知,如果本地分支机构有未提交的更改,它就应该失败。