मेरे पास 2 git स्थानीय रिपॉजिटरी हैं जो एक ही रिमोट रिपॉजिटरी की ओर इशारा करते हैं।
एक गिट रिपॉजिटरी में, अगर मैं करता हूं, तो मैं git format-patch 1
उस पैच को दूसरे रिपॉजिटरी में कैसे लागू कर सकता हूं?
मेरे पास 2 git स्थानीय रिपॉजिटरी हैं जो एक ही रिमोट रिपॉजिटरी की ओर इशारा करते हैं।
एक गिट रिपॉजिटरी में, अगर मैं करता हूं, तो मैं git format-patch 1
उस पैच को दूसरे रिपॉजिटरी में कैसे लागू कर सकता हूं?
जवाबों:
नोट: आप पहले देख सकते हैं कि आपका पैच क्या करेगा:
पहले आँकड़े:
git apply --stat a_file.patch
फिर त्रुटियों का पता लगाने के लिए एक सूखा रन:
git apply --check a_file.patch
अंत में, आप git am
अपने पैच को एक प्रतिबद्ध के रूप में लागू करने के लिए उपयोग कर सकते हैं : यह आपको एक लागू पैच पर हस्ताक्षर करने की अनुमति देता है।
यह बाद के संदर्भ के लिए उपयोगी हो सकता है।
git am --signoff < a_file.patch
इस लेख में एक उदाहरण देखें :
आपके गिट लॉग में, आप पाएंगे कि प्रतिबद्ध संदेशों में एक "हस्ताक्षरित-बंद" टैग शामिल है। इस टैग को गिथब और अन्य लोगों द्वारा इस बारे में उपयोगी जानकारी प्रदान करने के लिए पढ़ा जाएगा कि कोड में प्रतिबद्धता कैसे समाप्त हुई।
git am < somepatch.patch
पैदावार "घातक: खाली पहचान नाम (<> के लिए) की अनुमति नहीं है"। क्या कोई मुझे समझा सकता है क्यों?
Author
पैच में खराब हेडर, और / या आपने नहीं किया git config user.{name,email}
।
git apply --check
कहते हैं patch does not apply
, और git apply -3
कहते हैं कि repository lacks the necessary blob to fall back on 3-way merge.
गिट में, पुन: शुरू करना एक ऐसी हवा है; लेकिन लोग अपडेटेड कोड के शीर्ष पर अपने पैच को कैसे रिबेट करते हैं ?
git apply name-of-file.patch
या, यदि आप इसे पुराने स्कूल में मार रहे हैं:
cd /path/to/other/repository
patch -p1 < 0001-whatever.patch
सबसे पहले आप के बारे में ध्यान देना चाहिए अंतर के बीच git am
औरgit apply
जब आप उपयोग कर रहे हैं git am
तो आप आमतौर पर कई पैच लागू करना चाहते हैं। इस प्रकार उपयोग करना चाहिए:
git am *.patch
या केवल:
git am
Git पैच को स्वचालित रूप से ढूंढेगा और उन्हें क्रम में लागू करेगा ;-)
UPD
यहां आप पा सकते हैं कि इस तरह के पैच कैसे बनाए जा सकते हैं
git apply
.. और --reverse
:-)
यदि आप इसे कमिट के रूप में लागू करना चाहते हैं , तो git am का उपयोग करें ।
यदि आप JetBrains IDE (जैसे IntelliJ IDEA, Android Studio, PyCharm) का उपयोग कर रहे हैं, तो आप पैच फ़ाइल को खींच सकते हैं और इसे IDE के अंदर छोड़ सकते हैं, और पैच की सामग्री दिखाते हुए एक संवाद दिखाई देगा। अब आपको बस "पैच लागू करें" पर क्लिक करना है, और एक कमिट बनाया जाएगा।
आप नीचे दिए गए cmd का उपयोग कर सकते हैं
git apply fileName.patch