代码之家  ›  专栏  ›  技术社区  ›  GDR

如何查看分叉github项目的差异

  •  28
  • GDR  · 技术社区  · 15 年前

    如果你想知道-我已经分叉了Apache httpd,我正在修改一些核心代码。目前,我没有提交任何更改,运行git diff,并在RPM构建过程中将其输出用作针对vanilla httpd源代码的补丁。当然,这是错误的,但我不知道如何正确地做。我只知道最后我需要一个区别。

    4 回复  |  直到 15 年前
        1
  •  31
  •   VonC    5 年前

    get /repos/{owner}/{repo}/compare/{base}...{head}
    

    这个 "compare two commits" API 不支持多个存储库:

    两者 :base :head 必须是中的分支名称 :repo .
    比较同一网络中其他存储库的分支 ,使用格式 <USERNAME>:branch

    例子:

    https://api.github.com/repos/octocat/hello-world/compare/master...abejpn:master

    或使用GitHub URL:

    https://github.com/octocat/Hello-World/compare/master...abejpn:master


    原答案2010:

    • 将原始的GitHub repo(您已经分叉的一个)添加为本地repo上的远程repo。
      ( git remote add mainRepo github_url )
    • git fetch mainRepo 从原始的“主回购”中获取最新的变化。
    • git log HEAD..mainRepo/master
      git diff HEAD..mainRepo/master 将以diff格式显示。

    learn.GitHub :

    git diff mainRepo/master...HEAD
    

    会列出你从 mainRepo

    这不会比较最后一个主分支快照和最后一个开发人员快照,而是将两者的共同祖先与开发人员进行比较,这将告诉您自分支点以来发生了什么变化。

        2
  •  10
  •   beat Chinnery    9 年前

    这是一个老问题,但我刚刚找到了一个很好的解决方法 .

    “比较”链接

    例子

    https://github.com/luisgoncalves/xades4j/compare/master...beat2:master
    

    现在你可以了 手动将“.diff”或“.patch”添加到此url的末尾 ,则直接在浏览器中获取文件。

    例子

    https://github.com/luisgoncalves/xades4j/compare/master...beat2:master.diff
    

    https://github.com/blog/967-github-secrets

        3
  •  6
  •   Community Mohan Dere    13 年前

    如果将跟踪“上游”回购的分支推送到存储库中,那么您也可以看到github本身的差异:

     git remote add mainRepo github_url
     git fetch mainRepo
     git branch main_repo_master mainRepo/master
     git push origin main_repo_master
    

    然后在网上看到:

    https://github.com/rdp/mplayer-svn/compare/master

    裁判: http://betterlogic.com/roger/2012/04/github-compare-commits

        4
  •  2
  •   AuthorProxy    10 年前

    获取父/分叉点sha1: git merge-base master HEAD git diff <sha1>

    或在一个命令中: git difftool $(git merge-base master HEAD)

    git diff master...HEAD

    推荐文章