web-dev-qa-db-ja.com

プル番号が与えられたときにgitパッチを適用する方法

Gitからコードベースのトランクバージョンをダウンロードしましたが、ビルドエラーがあります。どうやらパッチが利用可能になり、私はメールを受け取りました:

パッチについてはhttps://github.com/JustinTulloss/zeromq.node/pull/47を参照してください

私はgitを初めて使用するので、ページがディスカッションスレッドのように見えるため、特にこの「パッチ」をどうするかよくわかりません。

ローカルにクローンされたgitリポジトリにこのパッチを取得/適用する方法を誰かが知っていますか?

37

パッチをどこかに保存します。 Linuxを使用している場合は、curlを使用できます。

curl -L https://github.com/JustinTulloss/zeromq.node/pull/47.patch > /tmp/47.patch

パッチを適用するには、git applycheckオプションを使用すると、パッチが問題なく適用されるかどうかを確認できます。 gitディレクトリに移動して実行します。

git apply --check /tmp/47.patch

パッチを適用したい場合は、チェックオプションを削除してください。

git apply /tmp/47.patch
69
Andrew

.patch最後にパッチを取得します。

https://github.com/JustinTulloss/zeromq.node/pull/47.patch

以下のようなことができます:

$ git checkout master
$ curl http://github.com/JustinTulloss/zeromq.node/pull/47.patch | git am
$ git Push Origin master

http://help.github.com/send-pull-requests/

19
manojlds

ルールは最近変更されたようです。

以前はPRを取得し、最後に.patchを追加してパッチを取得していました

http://github.com/[group]/[project]/pull/30583.patch

しかし、リンクはリダイレクト(301)です。

https://patch-diff.githubusercontent.com/raw/[group]/[project]/pull/30583.patch

したがって、curlを使用する場合、git applyコマンドでパイプして、プルリクエストからgitパッチを適用できます。

curl https://patch-diff.githubusercontent.com/raw/[group]/[project]/pull/30583.patch | git apply

パッチが適切でない場合は、git apply -Rコマンドを使用して変更をロールバックしてください。

7
gasolin
git fetch -q Origin +refs/pull/47/merge:
git checkout -qf FETCH_HEAD
3
Halton Huo

Gitにプルリクエスト47をダウンロードさせ、ローカルでmylocalbranchにパッチを適用するには、次のコマンドを実行します。

git checkout -b mylocalbranch
git pull Origin pull/47/head

プルリクエストがOriginリポジトリにない場合は、

git remote add patchremote https://github.com/JustinTulloss/zeromq.node
git pull patchremote pull/47/head
3
thakis