Githubプルリクエストを統合差分としてダウンロード


276

Githubプルリクエストに含まれる変更を、統一されたdiffとしてダウンロードするにはどうすればよいですか?


通常、PRパッチリンクは、PRを受け入れる人に送信されます。
kenorb 2013年

これはGitLabにはまだ実装されていませんが、機能リクエストを作成しので、投票を追加してください。
コラン2014年

回答:


484

コミットをdiff / patchファイルとして表示するには、次のようにURLの末尾に.diffまたは.patchを追加するだけです。


13
まことにありがとうございます。そしてもあります.patch。なぜこれがGUIに表示されないのですか?これをどのように発見するのですか?
Thilo、

44
ビジネスでスタックオーバーフローを維持するために文書化されていません。正直なところ、それはFAQ#2です
11

またgit pull、変更をダウンロードして適用するための推奨方法です。
Tekkub

ああ、ありがとう、この答えは金の価値があります。(そのブログ投稿も。)誰もがそれなしで正気に働くことができるのか、そしてなぜそれがcrappy-enough-as-is Web UIで公開されないのかと思います。
mirabilos 2013

8
どのようなこれらのリターンとのドキュメント内のリンクから判断developer.github.com/v3/media/....diffURLはに基づいて、デフォルトのブランチにまっすぐに差分を与えgit-diff git-scm.com/docs/git-diff、出力また、.patchURLは、PR内の個々のコミット(それぞれがその親コミットに関連する)の​​連結を、git-format-patch git-scm.com / docs / git -format- patch出力に基づく電子メール送信に適した形式で提供します。
rakslice 2017年

49

多少関連していますが、gitにプルリクエスト123をダウンロードさせ、mylocalbranchローカルにパッチを適用するには、次のコマンドを実行します。

git checkout -b mylocalbranch
git pull origin pull/921/head

10
または、プルリクエストを新しいPRブランチに取得 git fetch origin pull/921/head:PRし、現在のブランチとマージして、変更を確認する機会を与える git merge PR --no-commit --no-ff
MoonStom


これには、資格情報を使用してGitをセットアップする必要があります。提案された変更を匿名でテストすることはできません(diffを手動で適用する場合と同様)。Gitのもう1つの例は、単純なワークフローを採​​用し、それを困難にしています。
jww

2

段階的ではあるがコミットされていない状態でPRの変更をローカルリポジトリに取得するには、以下を確認できます。

git pull origin pull/123/head --no-commit

そして、そこからパッチファイルを生成するには:

git diff --cached > pr123.diff    
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.