2010-06-09 85 views
3

球員:恢復歷史從愚蠢的混帳SVN合併

主:svn的分支(實際的,而不是本地trackign) mybranch:一個本地分支

我的錯誤:

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

我做了兩次

有沒有辦法可以補救這一切?我的想法是這樣的:

  1. git的結帳--hard [合併之前提交]
  2. 混帳dcommit#說的svn?
  3. git的變基mybranch
  4. 混帳dcommit

但這似乎並沒有工作。

(我知道我應該一。從本地跟蹤分行和b工作。已重訂,而不是合併)

我在瘋狂/願意送啤酒受訪階段:)

回答

1

由於SVN端的重寫歷史很難,爲什麼不嘗試提交一個新的提交來有效地取消你以前提交過兩次的提交?

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

git revert

給定一個現有的承諾,恢復更改補丁介紹,並錄製新的承諾,記錄它。

+0

不是真的我在找什麼,但我有我的問題解決 - 是啊。我並不擔心重寫svn歷史......只是試圖*另外*獲取我輸入svn的歷史。最終,儘管使用了還原和其他一些工具,但我還是沒有成功。 – 2010-06-09 12:57:01

+0

@Gregg,很抱歉看到。您可以在本頁面中記錄您最終在自己的答案中做了什麼。 – VonC 2010-06-09 13:15:16