एकीकृत अंतर के रूप में Github पुल अनुरोध डाउनलोड करें


277

मैं एक एकीकृत अंतर के रूप में जीथब पुल अनुरोध में शामिल परिवर्तनों को कैसे डाउनलोड कर सकता हूं?


आम तौर पर पीआर पैच लिंक उस व्यक्ति को भेजा जाता है, जो पीआर स्वीकार कर रहा होता है।
kenorb

यह GitLab में अभी तक लागू नहीं हुआ है, लेकिन मैंने एक सुविधा अनुरोध बनाया है, इसलिए कृपया इसमें अपने वोट जोड़ें।
कॉलन

जवाबों:


486

एक भिन्न / पैच फ़ाइल के रूप में कमिट देखने के लिए, उदाहरण के लिए, URL के अंत में जोड़ें .diffया जोड़ें .patch:


13
बहुत धन्यवाद। और है भी .patch। यह जीयूआई में क्यों उजागर नहीं हुआ है? यह कैसे पता चलता है?
थिलो

45
यह व्यवसाय में स्टैकओवरफ्लो रखने के लिए प्रलेखित नहीं है। सच में, कि 2 पूछे जाने वाले प्रश्न # है
sehe

इसलिए भी क्योंकि git pullपरिवर्तनों को डाउनलोड करने और लागू करने का पसंदीदा तरीका है।
टेककुब

ऊओह, धन्यवाद, यह जवाब सोने के लायक है। (वह ब्लॉगपोस्टिंग भी।) मुझे आश्चर्य है कि कोई भी समझदार उसके बिना कैसे काम कर सकता है, और यह भद्दा-पर्याप्त-जैसा वेब यूआई में क्यों उजागर नहीं किया गया है।
मिराबिलोस

8
क्या इन वापसी और कम से डॉक्स में लिंक से आंकना developer.github.com/v3/media/... , .diffURL के आधार पर डिफ़ॉल्ट शाखा को एक सीधी diff देता git-diff git-scm.com/docs/git-diff उत्पादन, और .patchURL, git-format-patch PR- (उनके प्रत्येक माता-पिता के प्रति प्रत्येक व्यक्ति के प्रति प्रतिबद्ध) का एक प्रारूप git-scm.com/docs/git-format-patch आउटपुट के आधार पर ई-मेलिंग के लिए उपयुक्त प्रारूप में देता है ।
रक्सलिस

49

कुछ हद तक संबंधित है, git को पुल अनुरोध 123 डाउनलोड करने और इसे mylocalbranchस्थानीय रूप से चलाने के लिए, चलाएं:

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

10
या एक नई पीआर शाखा पर पुल अनुरोध प्राप्त करने के लिए git fetch origin pull/921/head:PRऔर फिर अपनी वर्तमान शाखा के साथ मर्ज करें, जिससे आपको परिवर्तनों की समीक्षा करने का मौका मिलेगा git merge PR --no-commit --no-ff
मूनस्टॉम

4
पूरा दस्तावेज help.github.com/articles/checking-out-pull-requests-locally
JBert

इसके लिए आपको Git को अपने क्रेडेंशियल्स के साथ सेटअप करना होगा। आप गुमनाम रूप से एक प्रस्तावित परिवर्तन का परीक्षण नहीं कर सकते हैं (जैसे आप मैन्युअल रूप से एक आवेदन लागू कर सकते हैं)। फिर भी Git का एक और उदाहरण एक साधारण वर्कफ़्लो लेकर इसे कठिन बना देता है।
jww

2

पीआर को अपने स्थानीय रेपो में एक मंचित लेकिन असंक्रमित राज्य में बदलने के लिए, ताकि आप समीक्षा कर सकें:

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

और उस से एक पैच फ़ाइल उत्पन्न करने के लिए:

git diff --cached > pr123.diff    
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.