git-svn 检出它以便在上面工作并推送到Heroku。我一直在做着非常标准的 git push heroku master , git svn rebase , git svn dcommit ,一切都很好。然而,最近我一直在进行大量的git工作,并且还没有进行过 git svn rebase 。现在,当我尝试进行rebase时,由于合并冲突而失败,尽管我是唯一提交到repo并只在master上工作的人。考虑到问题可能是工作副本,我进行了新的 git svn clone ,然后进行了 git remote add heroku 和 git pull heroku master 。pull与没有问题的快进合并,但是 git svn rebase 仍然失败。我进行了简单的 git log ,发现我缺少一些旧的提交中的 git-svn-id 。
commit def8bab861314c67d4e8227e03775d19045d21d1
Author: peterr
Date: Fri Sep 21 16:17:33 2012 +0000
PHP Cedar support.
git-svn-id: http://vcp.unfuddle.com/svn/vcp_bbsit@24 b6b24ac3-8b7a-4c11-a811-49c5d0334e85
commit f51bd78fb07dde6ec1dc4e0ba51a48f2b6bd1bd6
Author: pr1001
Date: Mon Aug 20 19:39:42 2012 +0200
Specify port correctly
commit 153bb2929080898dcab46142120def0f4964dfab
...
commit 5a416fa3af9f64aa353d5171bedfaa563115ff62
Author: pr1001
Date: Mon Aug 20 17:22:58 2012 +0200
PHP Cedar support.
commit e0b35588d03082a3a4ab49a7b590f206346046c0
Author: j
Date: Fri Aug 3 08:13:33 2012 +0000
change email
git-svn-id: http://vcp.unfuddle.com/svn/vcp_bbsit@23 b6b24ac3-8b7a-4c11-a811-49c5d0334e85
根据一个SO答案,我认为我可以重写提交消息来添加丢失的信息,但我想知道这是否会更糟。
查看消息,我发现有一些重复的提交,例如“PHP Cedar support”。我真的很困惑为什么会有这些重复的提交,尽管我怀疑它们可能与我前几天失败的git push heroku master
有关,当时我被告知存储库不同步。 git pull heroku master
似乎没有带来任何改变并解决了这个问题,但也许它带来了重复的提交。
那么,鉴于所有这些情况,我的问题很简单,我该如何继续?我在Heroku上有一个可工作的应用程序和一个较旧的工作代码库在SVN repo中,但我找不到任何清洁地将新的提交放入SVN的简单方法。我应该使用cherry-pick吗?然后我需要摧毁Heroku应用程序以避免重复的提交回来吗?