Githubでプロジェクトをフォークしましたが、フォークしてから行った一連の変更をdiff形式で行う必要があります。
不思議に思うなら-私はApachehttpdをフォークし、コアのコードを変更しています。現在、私は変更をコミットせず、git diffを実行しており、RPM構築プロセスでVanillahttpdソースに対するパッチとしてその出力を使用しています。もちろん間違っていますが、正しく行う方法がわかりません。私が知っているのは、最終的に差分が必要なことだけです。
git remote add mainRepo github_url
)git fetch mainRepo
元の「mainRepo」から最新の変更を取得します。git log HEAD..mainRepo/master
は、mainRepoマスターブランチの最新のものと現在のブランチの間のすべての変更を表示します。git diff HEAD..mainRepo/master
はdiff形式で表示します。git diff mainRepo/master...HEAD
mainRepo
からフォークしたため、すべての変更が一覧表示されます。
これは、最後の「マスター」ブランチスナップショットと最後の「開発」スナップショットを比較しません。代わりに、両方の共通の祖先を「開発」と比較します。これにより、分岐点から何が変わったかがわかります。
これは古い質問ですが、Githubから直接パッチまたはdiffファイルを取得するという非常に優れた方法を見つけました。
あなたがあなたのフォークにいるとき、"比較"リンクがあります。これを使用すると、比較ビューが表示されます。
例
https://github.com/luisgoncalves/xades4j/compare/master...beat2:master
これで、このURLの最後に「.diff」または「.patch」を手動で追加することができ、ブラウザで直接ファイルを取得できます。
例
https://github.com/luisgoncalves/xades4j/compare/master...beat2:master.diff
「アップストリーム」リポジトリを追跡するブランチをリポジトリにプッシュすると、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 …main_repo_master
参照: http://betterlogic.com/roger/2012/04/github-compare-commits
親/フォークポイントを取得sha1:_git merge-base master HEAD
_差分を取得:_git diff <sha1>
_
または1つのコマンドで:git difftool $(git merge-base master HEAD)
これはsugarコマンドと同じです:_git diff master...HEAD
_