How to view diff of a forked github project

后端 未结 4 1406
小鲜肉
小鲜肉 2020-12-13 03:56

I have forked a project on github and need to have a set of changes I made since I forked, in diff format.

If you wonder - I\'ve forked Apache httpd and I\'m changin

相关标签:
4条回答
  • 2020-12-13 04:39

    This is an old question, but I just found a very nice method to get a patch or diff file directly from Github.

    When you are on your fork, there is a "Compare" link. Using that you are getting to the compare view.

    Example

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

    Now you can manually add either ".diff" or ".patch" to the end of this url, and you get the file directly in your browser.

    Example

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

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

    0 讨论(0)
  • 2020-12-13 04:49

    Online solution:

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

    The "compare two commits" API does support multiple repositories:

    Both :base and :head must be branch names in :repo.
    To compare branches across other repositories in the same network as :repo, use the format <USERNAME>:branch.

    Example:

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

    Or with a GitHub URL:

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


    Original answer 2010:

    • Add the original GitHub repo (the one you have forked) as a remote one on your local repo.
      (git remote add mainRepo github_url)
    • git fetch mainRepo to get the latest changes from that original "mainRepo".
    • git log HEAD..mainRepo/master will show you all your changes between the latest on mainRepo master branch and your current branch.
      git diff HEAD..mainRepo/master would display it in diff format.

    In learn.GitHub:

    git diff mainRepo/master...HEAD
    

    would list all your changes since you have forked from mainRepo:

    This will not compare the last ‘master’ branch snapshot and the last ‘dev’ snapshot - it will instead compare the common ancestor of both with ‘dev’. That will tell you what changed since the branch point.

    0 讨论(0)
  • 2020-12-13 04:51

    Get parent/fork point sha1: git merge-base master HEAD Get diff: git diff <sha1>

    Or in one command: git difftool $(git merge-base master HEAD)

    Which is the same as sugar command: git diff master...HEAD

    0 讨论(0)
  • 2020-12-13 04:54

    If you push a branch that tracks the "upstream" repo to your repository, then you can see the diff in github itself, too:

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

    Then see it online like this:

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

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

    0 讨论(0)
提交回复
热议问题