我正在使用 git-svn。我怎样才能得到一份列表,列出我已经提交到 git,但自上次 git svn dcommit
以来还没有提交到 SVN 存储库的内容?也就是说,如果我执行 dcommit,我如何验证将要发送的内容?
最佳答案
git svn dcommit
的--dry-run
选项对于准确找出将提交给 Subversion 的内容非常有用。特别是具有以下属性:
- 它实际上并没有向 Subversion 提交任何内容
- 它告诉您将计算哪些差异以在 Subversion 中创建新修订
- 它告诉您将提交到 Subversion 中的哪个分支 - 这有时并不明显,因为它取自在其提交消息中带有 git-svn-id 的第一个祖先提交中指定的 Subversion 分支<
一般来说,在考虑使用 dcommit
之前执行 git svn rebase
是个好主意,这样你的历史就会线性化——否则 merge 提交可能没有多大意义在 Subversion 历史中。 (如果你这样做了,那么 git log
和 gitk --all
本质上也是等价的,但我认为 git svn dcommit --dry-run
让您更准确地了解即将发生的事情,即使它更难以解释。)
关于svn - 如何查看已 checkin git,但尚未通过 dcommit 提交给 svn 的内容?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6038829/