【问题标题】:Git Diff between HEAD and SVN MasterHEAD 和 SVN Master 之间的 Git 差异
【发布时间】:2010-02-10 06:16:03
【问题描述】:

我想在本地提交的更改和 SVN 提交的最后更改之间进行差异。即 HEAD 和 SVN 主干上的内容。

什么是合适的命令?

干杯

【问题讨论】:

    标签: svn git diff


    【解决方案1】:

    我假设你说的是 git-svn:

    $ git-svn fetch              # get the latest from svn, without merging yet
    $ git diff ..remotes/git-svn # or <treeish>..remotes/git-svn
    

    我不知道remotes/git-svn 是否可以在其他地方。请与git branch -a联系。

    【讨论】:

      【解决方案2】:

      git diff trunk 为我工作!

      【讨论】:

        【解决方案3】:

        最简单的方法是在 HEAD 和将 trunk 导入到 git repo 之间进行区分。

        但是,如果您因为不想导入任何东西而无法在当前存储库上执行git svn rebase(但只能看到与 SVN 存储库的区别),您可以将您的存储库克隆到第二个存储库中,您可以在任何地方立即使用 SVN trunk 刷新其内容。

        然后你声明一个跟踪分支并在你当前的 repo 中获取 repo2:

        master/HEAD
        svn_trunk    # tracks repo2/trunk/HEAD, refreshed by a git svn rebase 
        

        你可以区分:

        git diff svn_trunk..HEAD 
        

        【讨论】:

          【解决方案4】:

          我试过了:

          git diff HEAD~3 HEAD

          它起作用了,因为我想查看 3 个本地提交的更改和主干上的 HEAD 之间的差异。

          但这是正确的方法吗?它虽然有效! :)

          【讨论】:

          • 如果你知道最后一个 svn rebase 是HEAD~3,那么是的。应该和git diff HEAD~3..一样
          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2021-07-05
          • 1970-01-01
          • 1970-01-01
          • 2018-06-25
          • 2021-01-01
          • 2020-04-07
          相关资源
          最近更新 更多