2010-02-12 19 views
55

मेरे पास 2 गीट स्थानीय भंडार दोनों एक ही रिमोट रिपोजिटरी को इंगित करते हैं।गिट प्रारूप-पैच के साथ जेनरेट किए गए पैच को कैसे लागू करें?

एक गिट भंडार में, यदि मैं git format-patch 1 करता हूं, तो मैं उस पैच को अन्य भंडार में कैसे लागू कर सकता हूं?

उत्तर

38
git apply name-of-file.patch 
+6

यह मूल विस्तृत सवाल का जवाब हो सकता है, लेकिन यह शीर्षक में सवाल का जवाब यही कारण है कि मैं कर रहा हूँ इस पृष्ठ पर। धन्यवाद! –

+0

यह सही तरीका है –

+2

मुझे लगता है कि यह एक पुराना प्रश्न और उत्तर है ... लेकिन मैंने सोचा कि कुछ लोगों को समझना उपयोगी हो सकता है [गिट आवेदन और गिट के बीच अंतर] (https://stackoverflow.com/ प्रश्न/12240154/क्या-है-अंतर-बीच-Git-am और Git-लागू)। – mgarey

13

या, आप यह पुराने स्कूल लात रहे हैं:

cd /path/to/other/repository 
patch -p1 < 0001-whatever.patch 
81

ध्यान दें: आप पहले पूर्वावलोकन कर सकते हैं जो आपके पैच करना होगा:

पहले आंकड़े:

git apply --stat a_file.patch 

फिर त्रुटियों का पता लगाने के लिए एक शुष्क रन:

git apply --check a_file.patch 

अंत में, आप अपने पैच को लागू करने के लिए git am का उपयोग कर सकते हैं: यह आपको एक लागू पैच को साइन करने की अनुमति देता है।
यह बाद के संदर्भ के लिए उपयोगी हो सकता है।

git am --signoff < a_file.patch 

एक example in this article देखें:

आप Git लॉग में, आप पाएंगे कि प्रतिबद्ध संदेशों एक "साइन-इन किए ऑफ द्वारा" टैग होते हैं। इस टैग को गीथूब और अन्य लोगों द्वारा कोड में समाप्त होने के तरीके के बारे में उपयोगी जानकारी प्रदान करने के लिए पढ़ा जाएगा।

http://assets.ariejan.net/wp-content/uploads/2009/10/imdb_signed_off.jpg

9

आप के रूप में एक प्रतिबद्ध यह लागू करने के लिए, का उपयोग करें चाहते हैं git am

+0

आप आम तौर पर पहली जगह में एमबॉक्स फाइल कैसे प्राप्त करते हैं? –

संबंधित मुद्दे