2012-06-05 49 views
1

我有一個開發分支,我正在努力並希望提交它。然而,通過一系列不幸的事件我不會介入,我的git svn認爲它已經是最新的,沒有什麼可以提交的。如何使用git-svn做強制提交?

從本質上講,現在我想用我的分支的本地版本來揍我的分支遠程內容。類似於git push --force,除了使用git svn。像git svn dcommit --force

我知道有其他的方法,如檢查出另一個副本和複製/粘貼式回購的內容。但我希望有一個簡單的「強制」解決方案,就像純粹的git一樣。

回答

0

「混帳SVN dcommit」沒有--force選項或它的任何模擬。您可以嘗試SmartGit客戶端:

  1. 與SmartGit打開你的Git,SVN倉庫
  2. 選擇的遠程>推先進。選中「強制」複選框,按下按鈕。

SmartGit可能會詢問是否將分支推送爲新分支或推送到現有分支。如果您選擇New,SmartGit會從您的Git分支名稱中選擇SVN分支名稱(例如,對於refs/heads/XXX,它將選擇分支/ XXX)。如果選擇Existing,SmartGit將查看當前分支歷史記錄,直到符合「git-svn-id:」提交,並將分支推送到指定的URL。我認爲第二種選擇對你的情況更好。

+1

聰明的git在引擎蓋下做什麼來強制? – Zugwalt

+0

它用一個正在推送的分支替換SVN分支。所以你會在「svn log -v」中看到'R'。 –

+0

它似乎不起作用 – aelam