2010-03-11 106 views
20

我正在尋找git-svn中的命令,它將向我顯示我已向我的git存儲庫提交的更改,但尚未提交給中央svn庫。我正在尋找類似svn狀態的東西,但我使用的是git-svn,不幸的是,git svn status不是有效的命令。git svn status - 顯示未提交給svn的更改

我試過git status但它並沒有解決這個問題,因爲它顯示了沒有提交給我的本地git倉庫的變化。

我也試過git svn dcommit --dry-run,但它不告訴我哪些文件已準備好被提交 - 它只顯示存儲庫URL。

回答

22

假設遠程Subversion版本庫的分支是在遙控器/ GIT-SVN,運行以下:

git svn fetch 

取指令將確保遙控器/ GIT-SVN是最新更新。 (感謝馬克在評論指出這一點。)

git diff --name-status remotes/git-svn 

這將顯示名稱和所有已承諾的git而不是顛覆,就像svn status命令的文件的狀態。

在情況下含有顛覆遠程倉庫分支位於你不知道,你可以運行:

git branch -a 

應該產生類似以下的輸出:

* master 
    remotes/git-svn 

你大概可以從中推測出遠程Subversion版本庫在remotes/git-svn中。

+3

這可能是值得的答案效應的開始,這是一個好主意,添加註釋首先運行'git svn fetch'以確保'remotes/git-svn'是最新的。 – 2010-06-29 16:49:07

0

您還可以使用

git diff git-svn HEAD -d 

,或者如果你有difftool規定:

git difftool git-svn HEAD -d