किसी दूरस्थ स्रोत से खींचना
पिछले अध्यायों में, हमने GitHub पर एक खाता बनाया और SSH सेट किया।
बाद में हमने सीधे GitHub पर कुछ बदलाव किए।
अब हम GitHub के परिवर्तनों के साथ अपनी स्थानीय रिपॉजिटरी को अपडेट करना चाहते हैं।
महत्वपूर्ण पुल आदेश
Fetch
डेटा डाउनलोड करें लेकिन कनेक्ट न करें
Merge
परिवर्तनों को संयोजित करें
Pull
एक कमांड में फ़ेच + मर्ज करें
लाएँ, खींचें और मिलाएँ
किसी प्रोजेक्ट पर एक टीम के रूप में काम करते समय, यह महत्वपूर्ण है कि हर कोई अद्यतित रहे।
इससे कोई फर्क नहीं पड़ता कि आप किसी प्रोजेक्ट पर किस समय काम करना शुरू करते हैं, आपको अपनी स्थानीय प्रतिलिपि में नवीनतम परिवर्तन प्राप्त करने की आवश्यकता है।
Git के साथ, आप इसे पुल के साथ कर सकते हैं।
pull2 अलग-अलग कमांड का संयोजन है:
- fetch
- merge
आइए करीब से देखें कि फ़ेच, मर्ज और पुल कैसे काम करते हैं।
Git Fetch
git fetchदूरस्थ रिपॉजिटरी से नया डेटा डाउनलोड करता है, लेकिन आपकी कार्य फ़ाइलों या शाखाओं को नहीं बदलता है। यह आपको यह देखने की अनुमति देता है कि आपके विलय या खींचने से पहले दूसरों ने क्या धक्का दिया है।
git fetch origin
अब जबकि हमारे पास नवीनतम परिवर्तन हैं, आइए अपनी स्थिति देखें:
git status
On branch master
Your branch is behind 'origin/master' by 1 commit, and can be fast-forwarded.
(use "git pull" to update your local branch)
nothing to commit, working tree clean
हम मूल/मास्टर के पीछे 1 प्रतिबद्ध हैं। यह अद्यतन README.md होना चाहिए, लेकिन आइए लॉग को देखकर दोबारा जांच करें:
git log origin/master
commit d29d69ffe2ee9e6df6fa0d313bb0592b50f3b853 (origin/master)
Author: username
Date: Fri Mar 26 14:59:14 2021 +0100
Updated README.md with a line about GitHub
यह अपेक्षा के अनुरूप लग रहा है, लेकिन हम अपने स्थानीय मास्टर और मूल/मास्टर के बीच अंतर दिखाकर भी जांच कर सकते हैं:
git diff origin/master
diff --git a/README.md b/README.md
index 23a0122..a980c39 100644
--- a/README.md
+++ b/README.md
@@ -2,6 +2,4 @@
Hello World repository for Git tutorial
This is an example repository for the Git tutorial
-This repository is built step by step in the tutorial.
-
-It now includes steps for GitHub
+This repository is built step by step in the tutorial.
सत्यापन पूरा हुआ!
यह बिल्कुल वैसा ही दिखता है जैसा अपेक्षित था! अब हम सुरक्षित रूप से विलय कर सकते हैं।
Git Merge
mergeवर्तमान शाखा को एक विशिष्ट शाखा से जोड़ता है।
हमने पुष्टि की है कि अपडेट अपेक्षा के अनुरूप हैं, और हम अपनी वर्तमान शाखा (मास्टर) को मूल/मास्टर में विलय कर सकते हैं:
git merge origin/master
Updating e0b6038..d29d69f
Fast-forward
README.md | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
कृपया यह सुनिश्चित करने के लिए हमारी स्थिति दोबारा जांचें कि यह चालू है:
git status
On branch master
Your branch is up to date with 'origin/master'.
nothing to commit, working tree clean
हो गया!
वहाँ! आपका स्थानीय गिट अद्यतित है!
Git Pull
लेकिन क्या होगा यदि आप उन सभी चरणों से गुज़रे बिना अपने स्थानीय रिपॉजिटरी को अपडेट करना चाहते हैं?
pullफ़ेच और मर्ज का एक संयोजन है।
इसका उपयोग रिमोट रिपॉजिटरी से सभी परिवर्तनों को उस शाखा में खींचने के लिए किया जाता है जिस पर आप काम कर रहे हैं।
GitHub पर Readme.md फ़ाइल में एक और बदलाव करें।
GitHub पर रीडमी फ़ाइल को अपडेट कर रहा है
हमारे स्थानीय Git को अपडेट करने के लिए पुल का उपयोग करें:
git pull origin
remote: Enumerating objects: 5, done.
remote: Counting objects: 100% (5/5), done.
remote: Compressing objects: 100% (3/3), done.
remote: Total 3 (delta 1), reused 0 (delta 0), pack-reused 0
Unpacking objects: 100% (3/3), 794 bytes | 1024 bytes/s, done.
From https://github.com/username/hello-world
a7cdd4b..ab6b4ed master -> origin/master
Updating a7cdd4b..ab6b4ed
Fast-forward
README.md | 2 ++
1 file changed, 2 insertions(+)
हो गया!
अपने स्थानीय Git को किसी दूरस्थ रिपॉजिटरी से अपडेट रखने का तरीका इस प्रकार है। अगले अध्याय में, हम विस्तार से देखेंगे कि GitHub पर पुश कैसे काम करता है।
त्वरित संदर्भ
Fetch
परिवर्तन डाउनलोड करें
git fetch
Merge
परिवर्तनों को संयोजित करें
git merge
Pull
दोनों एक आदेश में
git pull