गिट - पैच ऑपरेशन
पैच एक पाठ फ़ाइल है, जिसकी सामग्री गिट भिन्न के समान है, लेकिन कोड के साथ, इसमें कमिट्स के बारे में मेटाडेटा भी है; उदाहरण के लिए, आईडी, दिनांक, वचन संदेश, आदि हम कमिट से एक पैच बना सकते हैं और अन्य लोग उन्हें अपने रिपॉजिटरी में लागू कर सकते हैं।
जेरी अपने प्रोजेक्ट के लिए स्ट्रैट फंक्शन को लागू करता है। जेरी अपने कोड का एक रास्ता बना सकता है और टॉम को भेज सकता है। फिर, वह प्राप्त पैच को अपने कोड पर लागू कर सकता है।
जेरी गिट का उपयोग करता है format-patchनवीनतम प्रतिबद्ध के लिए एक पैच बनाने के लिए आदेश। यदि आप एक विशिष्ट प्रतिबद्ध के लिए एक पैच बनाना चाहते हैं, तो उपयोग करेंCOMMIT_ID प्रारूप-पैच कमांड के साथ।
[jerry@CentOS project]$ pwd
/home/jerry/jerry_repo/project/src
[jerry@CentOS src]$ git status -s
M string_operations.c
?? string_operations
[jerry@CentOS src]$ git add string_operations.c
[jerry@CentOS src]$ git commit -m "Added my_strcat function"
[master b4c7f09] Added my_strcat function
1 files changed, 13 insertions(+), 0 deletions(-)
[jerry@CentOS src]$ git format-patch -1
0001-Added-my_strcat-function.patch
उपरोक्त कमांड बनाता है .patchवर्तमान कार्यशील निर्देशिका के अंदर फाइलें। टॉम अपनी फ़ाइलों को संशोधित करने के लिए इस पैच का उपयोग कर सकते हैं। पैच लागू करने के लिए Git दो कमांड प्रदान करता हैgit amतथा git apply, क्रमशः। Git apply जबकि बनाए बिना स्थानीय फ़ाइलों को संशोधित करता है git am फ़ाइल को संशोधित करता है और साथ ही प्रतिबद्ध बनाता है।
पैच लगाने और कमिट करने के लिए, निम्न कमांड का उपयोग करें -
[tom@CentOS src]$ pwd
/home/tom/top_repo/project/src
[tom@CentOS src]$ git diff
[tom@CentOS src]$ git status –s
[tom@CentOS src]$ git apply 0001-Added-my_strcat-function.patch
[tom@CentOS src]$ git status -s
M string_operations.c
?? 0001-Added-my_strcat-function.patch
पैच सफलतापूर्वक लागू हो जाता है, अब हम संशोधनों का उपयोग करके देख सकते हैं git diff आदेश।
[tom@CentOS src]$ git diff
उपरोक्त आदेश निम्नलिखित परिणाम का उत्पादन करेगा -
diff --git a/src/string_operations.c b/src/string_operations.c
index 8ab7f42..f282fcf 100644
--- a/src/string_operations.c
+++ b/src/string_operations.c
@@ -1,5 +1,16 @@
#include <stdio.h>
+char *my_strcat(char *t, char *s)
diff --git a/src/string_operations.c b/src/string_operations.c
index 8ab7f42..f282fcf 100644
--- a/src/string_operations.c
+++ b/src/string_operations.c
@@ -1,5 +1,16 @@
#include <stdio.h>
+char *my_strcat(char *t, char *s)
+
{
+
char *p = t;
+
+
+
while (*p)
++p;
+
while (*p++ = *s++)
+ ;
+ return t;
+
}
+
size_t my_strlen(const char *s)
{
const char *p = s;
@@ -23,6 +34,7 @@ int main(void)
{