使用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
现在它已经致力于git存储库 - 很好。但是在我运行git svn dcommit
之前,我想看到包含将提交给SVN存储库的更改的差异。
答案 0 :(得分:16)
如果您的远程分支被调用git-svn
(如果你只是做一个普通的git svn clone
则调用它),那么你可以在当前分支和git-svn
之间看到差异:
git diff git-svn HEAD
您将看到当前分支中存在的所有更改,但不会显示在svn存储库中。
答案 1 :(得分:9)
'git svn dcommit --dry-run'的输出可以像这样再次输入git:
git diff-tree 2282c630eeef26fecbc3f3519be55a9dce094c80~12282c630eeef26fecbc3f3519be55a9dce094c80 -u
注意最后的'-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(-)
答案 2 :(得分:3)
第二个答案(在评论后修改 - 表明--Dry-run不够)
根据您的期望,可能可以像这样使用git日志:
git log remotes/svn.. --oneline
注意结束时的两个句号。这将显示自上次共享父节点以来当前分支上的所有提交。在典型的git-svn用法的情况下,这将是自上一次dcommit以来的所有本地提交。 (这假设您的远程SVN分支名称是" remotes / svn"。您可以运行" git branch -a"列出所有分支。)了解这是什么很重要正在做而不是只是逐字地运行它,但也许这提供了更多你正在寻找的东西。
第一个答案
您可以在dcommit:
中使用--dry-rungit svn dcommit --dry-run
请参阅此重复的问题/答案:How to see what has been checked into git, but hasn't been committed to svn via dcommit?。
答案 3 :(得分:1)