使用 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存储库的更改的差异。
使用 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存储库的更改的差异。
git-svn
(如果你只执行了git svn clone
,它就会被称为这个),那么你可以查看当前分支和git-svn
之间的差异:git diff git-svn HEAD
您将会看到当前分支中存在但 SVN 存储库中不存在的所有更改。
git diff origin/trunk HEAD
。日志版本也很好:git log origin/trunk..HEAD
。 - Zitraxgit diff-tree 2282c630eeef26fecbc3f3519be55a9dce094c80~12282c630eeef26fecbc3f3519be55a9dce094c80 -u
krausem-> git diff-tree f00e37882b7186e9e7f38c2fa28778e39734e2e7~1 f00e37882b7186e9e7f38c2fa28778e39734e2e7 --stat
.../src/main/webapp/tiles/vertrag/freiKlauseln.jsp | 9 +++++++++
1 files changed, 9 insertions(+), 0 deletions(-)
第二个答案(在评论中指出--dry-run不足以解决问题后进行修订)
根据您的期望,使用以下命令可能会起作用:
git log --patch --reverse --pretty=format:'%an' | awk '!a[$0]++'
git log remotes/svn.. --oneline
第一种回答
你可以在 dcommit 中使用 --dry-run:
git svn dcommit --dry-run
请参考这个重复的问题/答案:如何查看已经检入Git但尚未通过dcommit提交到SVN的内容?。
svn dcommit --dry-run
不易解释,但从 GIT 的角度来看,它非常精确地说明了即将提交到 SVN 的内容。 - kaliatech