2010-03-11 105 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