プル番号が与えられたときにgitパッチを適用する方法
-
27-10-2019 - |
質問
Gitからコードベースのトランクバージョンをダウンロードしましたが、ビルドエラーがあります。パッチが利用可能になり、メールを受け取りました。
パッチについては、https://github.com/justintulloss/zeromq.node/pull/47を参照してください
私はgitを初めて使用しているので、このページはディスカッションスレッドのように見えるので、この「パッチ」をどうするかわかりません。
このパッチをローカルにクローン化したGitリポジトリにどのように取得/適用できるか知っている人はいますか?
解決
パッチをどこかに保存します。 Linuxを使用している場合は、Curlを使用できます。
curl -L https://github.com/JustinTulloss/zeromq.node/pull/47.patch > /tmp/47.patch
パッチを使用するには git apply
. 。パッチがきれいに適用されるかどうかを確認できます check
オプション。 gitディレクトリに変更して実行します。
git apply --check /tmp/47.patch
パッチを適用したいように見える場合は、チェックオプションを削除します
git apply /tmp/47.patch
他のヒント
追加するだけです .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
ルールは最近変更されたようです。
以前はPRを取り、Aを追加しました .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
変更をロールバックするコマンド。
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
git fetch -q origin +refs/pull/47/merge:
git checkout -qf FETCH_HEAD