2013-10-11 199 views
1

因此,我將SVN存儲庫遷移到了GitHub。我使用SVN檢出了遷移的存儲庫,並且我不小心做了一個空的提交(SVN歷史記錄中的r75)。爲了刪除空承諾,我直接用git再次檢查了倉庫,這個時候,並刪除與承諾:完全從Subversion歷史記錄中刪除空的git提交

git rebase -i HEAD~2

強制推到主後,GitHub上現在可以正確顯示只有74號,但是當我查看SVN日誌時,仍然可以看到提交爲r75。

[email protected]:~/blah$ svn log -r 75 
------------------------------------------------------------------------ 
r75 | zachary.murray | 2013-10-11 15:05:05 -0700 (Fri, 11 Oct 2013) | 2 lines 

Blah blah blah, I'm a dumb stupid SVN commit message I can't seem to kill. 

------------------------------------------------------------------------

我只是想一勞永逸地清除這個愚蠢的消息。有沒有其他提交過r75,我真的想讓r74再次成爲HEAD。有沒有希望?幫幫我!

+0

奇怪。它看起來像Github回購的SVN「視圖」,完全忽略了通過Git進行的任何歷史修改(重置/ rebase等)。可能只有Github的員工才能回答原因。 – sleske

+0

我聯繫了Github支持。我會張貼他們的答覆作爲答案。 – sleske

回答

1

這似乎是GitHub的Subversion子系統的一個普遍問題。

基於一些測試,它不能很好地處理使用git更改歷史記錄的存儲庫(reset/rebase等,加上git push -f)。隨後的svn checkout + svn log將顯示存儲庫的舊歷史記錄,或顯示不同的中間提交,以至少在最終提交時達到相同的文件系統狀態。

我聯繫了GitHub,他們證實了這一點。顯然它主要是這樣做的,因爲Subversion假定歷史不會改變,因此向Subversion客戶端顯示新的/改變的提交會使所有Subversion工作副本無效。

它看起來像這還沒有記錄在任何地方,雖然這可能會改變。

相關問題