我正在git-svn中寻找一个命令,它将向我显示我已经提交给我的git存储库的更改但尚未提交到中央svn存储库。我正在寻找像svn状态一样的东西,但我正在使用git-svn,不幸的是,git svn status
不是一个有效的命令。
我尝试了git status
,但它没有解决这个问题,因为它显示了尚未提交给我的本地git repo的更改。
我也尝试了git svn dcommit --dry-run
,但它并没有告诉我哪些文件已准备好被提交 - 它只显示存储库URL。
答案 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