git svn status - 显示未提交给svn的更改

时间:2010-03-11 16:20:32

标签: git-svn

我正在git-svn中寻找一个命令,它将向我显示我已经提交给我的git存储库的更改但尚未提交到中央svn存储库。我正在寻找像svn状态一样的东西,但我正在使用git-svn,不幸的是,git svn status不是一个有效的命令。

我尝试了git status,但它没有解决这个问题,因为它显示了尚未提交给我的本地git repo的更改。

我也尝试了git svn dcommit --dry-run,但它并没有告诉我哪些文件已准备好被提交 - 它只显示存储库URL。

2 个答案:

答案 0 :(得分:22)

假设远程Subversion存储库的分支位于remotes / git-svn,请运行以下命令:

git svn fetch

fetch将确保remotes / git-svn是最新的。 (感谢Mark在评论中指出这一点。)

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

这应该显示已经提交给git而不是Subversion的所有文件的名称和状态,就像svn status命令一样。

如果您不确定包含Subversion远程存储库的分支所在的位置,您可以运行:

git branch -a

应该产生类似于以下的输出:

* master
  remotes/git-svn

您可以从中猜到远程Subversion存储库位于remotes / git-svn中。

答案 1 :(得分:0)

您也可以使用

git diff git-svn HEAD -d

或者如果你指定了difftool:

git difftool git-svn HEAD -d