如何查看forked github项目的diff

GDR*_*GDR 32 git diff fork github master

我已经在github上分叉了一个项目,并且需要在我分叉后以diff格式进行一系列更改.

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

Von*_*onC 30

  • 在本地仓库中添加原始GitHub仓库(您已经分叉的仓库)作为远程仓库.
    (git remote add mainRepo github_url)
  • git fetch mainRepo 从原始的"mainRepo"获取最新的更改.
  • git log HEAD..mainRepo/master将显示最新的mainRepo主分支与当前分支之间的所有更改.
    git diff HEAD..mainRepo/master会以diff格式显示它.

learn.GitHub中:

git diff mainRepo/master...HEAD
Run Code Online (Sandbox Code Playgroud)

会列出你所分享的所有更改mainRepo:

这不会比较最后一个'主'分支快照和最后一个'dev'快照 - 而是将两者的共同祖先与'dev'进行比较.这将告诉你自分支点以来发生了什么变化.


bea*_*eat 7

这是一个古老的问题,但是我发现了一个非常好的方法,可以直接从Github获取补丁或diff文件

当您上车时,会有一个“比较”链接。使用它,您将进入比较视图。

https://github.com/luisgoncalves/xades4j/compare/master...beat2:master
Run Code Online (Sandbox Code Playgroud)

现在,您可以在此url的末尾手动添加“ .diff”或“ .patch”,然后直接在浏览器中获取文件。

https://github.com/luisgoncalves/xades4j/compare/master...beat2:master.diff
Run Code Online (Sandbox Code Playgroud)

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


rog*_*ack 6

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

 git remote add mainRepo github_url
 git fetch mainRepo
 git branch main_repo_master mainRepo/master
 git push origin main_repo_master
Run Code Online (Sandbox Code Playgroud)

然后在网上看到是这样的:

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

参考:http : //betterlogic.com/roger/2012/04/github-compare-commits