有了svn-git
,我怎么能看到即将发生的事情git svn dcommit
?
以下是我运行的命令:
git svn clone file:///svn/test1 test1-git
cd test1-git
echo "first line" > test1.txt
git add test1.txt
git commit
Run Code Online (Sandbox Code Playgroud)
现在它致力于git存储库 - 很好.但是在我运行之前,我git svn dcommit
希望看到包含将提交给SVN存储库的更改的差异.
Tom*_*kas 16
如果你的远程分支被调用git-svn
(如果你只是做一个普通的话,就会调用它git svn clone
),那么你可以看到当前分支和之间的差异 git-svn
:
git diff git-svn HEAD
Run Code Online (Sandbox Code Playgroud)
您将看到当前分支中存在的所有更改,但不会显示在svn存储库中.
'git svn dcommit --dry-run'的输出可以像这样再次输入git:
git diff-tree 2282c630eeef26fecbc3f3519be55a9dce094c80~12282c630eeef26fecbc3f3519be55a9dce094c80 -u
Run Code Online (Sandbox Code Playgroud)
注意最后的'-u'.然后你会看到差异.
如果你只想看到像'svn stat'这样的东西,你可以使用'--stat':
krausem-> git diff-tree f00e37882b7186e9e7f38c2fa28778e39734e2e7~1 f00e37882b7186e9e7f38c2fa28778e39734e2e7 --stat
.../src/main/webapp/tiles/vertrag/freiKlauseln.jsp | 9 +++++++++
1 files changed, 9 insertions(+), 0 deletions(-)
Run Code Online (Sandbox Code Playgroud)
第二个答案 (在评论表明 --dry-run 不够充分后进行修改)
根据您的期望,可以像这样使用 git log :
git log remotes/svn.. --oneline
Run Code Online (Sandbox Code Playgroud)
注意最后的两个句点。这将显示自上次共享父级以来当前分支上的所有提交。在典型的 git-svn 使用情况下,这将是自上次 dcommit 以来的所有本地提交。(这假设您的远程 SVN 分支名称是“remotes/svn”。您可以运行“gitbranch -a”来列出所有分支。)了解它的作用与仅逐字运行它相比很重要,但这可能提供了更多信息你在寻找什么。
第一个答案
您可以将 --dry-run 与 dcommit 一起使用:
git svn dcommit --dry-run
Run Code Online (Sandbox Code Playgroud)
请参阅此重复的问题/答案:如何查看已签入 git 的内容,但尚未通过 dcommit 提交给 svn?。