代码之家  ›  专栏  ›  技术社区  ›  Gregg Lind

从愚蠢的git svn合并中恢复历史记录

  •  3
  • Gregg Lind  · 技术社区  · 15 年前

    球员:

    主:SVN分支(实际,而不是本地trackign) 我的分行:本地分行

    我的错误:

    [master] git svn rebase
    [master] git merge mybranch
    [master] git svn dcommit
    

    我做到了 两次 .

    我有办法补救这一切吗?我在想:

    1. Git签出--硬[合并前提交]
    2. Git将数据发送给SVN?
    3. Git Rebase MyBranch公司
    4. Git d提交

    但这似乎不起作用。

    (我知道我应该a.在本地跟踪分支机构工作,b.重新平衡而不是合并)

    我在疯狂地/愿意把啤酒送到被访者的舞台上:)

    1 回复  |  直到 15 年前
        1
  •  1
  •   VonC    15 年前

    既然在SVN端重写历史是困难的,为什么不尝试数据提交一个新的提交,它可以有效地取消以前两次数据提交的内容?

    git log # grab the commit hash you want to revert
    git revert <commit hash>
    git svn dcommit
    

    git revert

    给定一个现有的提交,恢复补丁引入的更改,并记录一个记录它的新提交。