Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> प्रोग्रामिंग

Git Push: रिमोट रिपॉजिटरी में कोड पुश करें

git push कमांड आपके रिपॉजिटरी के स्थानीय संस्करण को रिमोट रिपॉजिटरी में अपलोड करता है। पुशिंग वह तंत्र है जिसके माध्यम से आप रिमोट रिपॉजिटरी में परिवर्तनों को अपलोड करते हैं। एक बार जब आप अपने परिवर्तनों को पुश कर देते हैं, तो प्रोजेक्ट पर सभी सहयोगी उन्हें डाउनलोड कर सकते हैं।

आपके कोड को रिमोट रिपॉजिटरी में पुश करना आपके द्वारा Git रिपॉजिटरी में किए गए परिवर्तनों को "सहेजने" का अंतिम चरण है।

पुशिंग प्रक्रिया कोड को आपके स्थानीय रिपॉजिटरी—आपके कंप्यूटर—से उस रिमोट रिपॉजिटरी में स्थानांतरित करती है जिससे आपका स्थानीय कोड जुड़ा हुआ है। यह आपको प्रोजेक्ट के लिए मुख्य रिपॉजिटरी में कोडबेस में किए गए परिवर्तनों को संग्रहीत करने की अनुमति देता है।

यह ट्यूटोरियल, उदाहरणों के साथ, कोड पुश करने की मूल बातें और git push कमांड का उपयोग कैसे करें, इस पर चर्चा करेगा। इस ट्यूटोरियल को पढ़ने के अंत तक, आप git push कमांड का उपयोग करके कोड पुश करने में विशेषज्ञ होंगे।

कोड पुश करना

Git में, "सहेजना" परिवर्तन फ़ाइल सहेजने जितना सरल नहीं है। जब आप Git रिपॉजिटरी में फ़ाइल सहेजते हैं, तो परिवर्तन आपके कंप्यूटर पर संग्रहीत होंगे। लेकिन, आपके परिवर्तनों को Git रिपॉजिटरी द्वारा ट्रैक नहीं किया जाएगा। आपको git को बताना होगा कि आपके परिवर्तनों को ट्रैक किया जाना चाहिए।

परिवर्तनों को ट्रैक करने के लिए, आपको पहले git add कमांड का उपयोग करने की आवश्यकता है, जो आपके कोड को स्टेजिंग एरिया में जोड़ता है। फिर, आप अपने द्वारा किए गए परिवर्तनों को कमिट में सहेजने के लिए git commit कमांड का उपयोग कर सकते हैं।

एक बार जब आप अपने कोड को रिपॉजिटरी में कमिट कर देते हैं, तो आपके द्वारा किए गए परिवर्तनों का रिकॉर्ड ट्रैक किया जाएगा। यदि आप चाहते हैं कि आपके कमिट्स रिमोट रिपॉजिटरी पर दिखाई दें तो कमिट बनाने के बाद आपको अपना कोड पुश करने की आवश्यकता है।

कोड पुश करना आपको स्थानीय रिपॉजिटरी के संस्करण में आपके द्वारा बनाए गए कमिट्स को रिमोट रिपॉजिटरी में भेजने की अनुमति देता है। उदाहरण के लिए, यदि आप टीम प्रोजेक्ट पर काम कर रहे हैं, तो आप पहले अपनी स्थानीय मशीन पर कमिट बनाएंगे। एक बार जब आप सभी को अपना कोड दिखाने के लिए तैयार हों, तो आप इसे रिमोट रिपॉजिटरी में पुश करेंगे ताकि हर सहयोगी आपका कोड देख सके।

git push कमांड का उपयोग कैसे करें

git push कमांड आपके स्थानीय परिवर्तनों को रिपॉजिटरी में रिमोट रिपॉजिटरी में अपलोड करता है। आपके अपलोड किए गए परिवर्तन सभी प्रोजेक्ट सहयोगियों के लिए उन्हें देखने और डाउनलोड करने के लिए सुलभ होंगे।

एक अर्थ में, git push git fetch के विपरीत है। git fetch कमांड का उपयोग रिमोट रिपॉजिटरी में किए गए परिवर्तनों को पुनः प्राप्त करने के लिए किया जाता है। फेच कमांड उन परिवर्तनों को रिपॉजिटरी की आपकी स्थानीय कॉपी पर लागू करता है।

git push कमांड के लिए सिंटैक्स इस प्रकार है:

git push <remote name> <branch name>

हमारा "remote name" पैरामीटर उस रिपॉजिटरी को संदर्भित करता है जिस पर आपका कोड पुश किया जाना चाहिए। यदि आपने पहले से ही एक रिपॉजिटरी कॉन्फिगर की है, तो यह "origin" पर सेट होगा। यदि आप किसी अन्य रिपॉजिटरी में कमिट करना चाहते हैं, तो आप इसे "remote name" पैरामीटर का उपयोग करके निर्दिष्ट कर सकते हैं।

"branch name" पैरामीटर रिमोट रिपॉजिटरी की उस ब्रांच को संदर्भित करता है जिस पर आप अपने परिवर्तनों को पुश करना चाहते हैं।

मान लें कि हम स्थानीय रिपॉजिटरी से परिवर्तनों को रिमोट रिपॉजिटरी की "master" ब्रांच में पुश करना चाहते हैं। हम ऐसा इस कमांड का उपयोग करके कर सकते हैं:

git push origin master

कमांड लौटाता है:

Counting objects: 4, done. Delta compression using up to 4 threads. Compressing objects: 100% (2/2), done. Writing objects: 100% (4/4), 363 bytes | 363.00 KiB/s, done. Total 4 (delta 0), reused 0 (delta 0) To https://github.com/jamesgallagher432/demo-repository.git 3b16026..b53b22d master -> master

इस उदाहरण के लिए, हमारा रिमोट रिपॉजिटरी GitHub पर संग्रहीत है। हमारे स्थानीय रिपॉजिटरी में किए गए परिवर्तनों को हमारे प्रोजेक्ट से जुड़े रिमोट GitHub रिपॉजिटरी में पुश किया जाता है।

अब चूंकि हमने अपने परिवर्तनों को पुश कर दिया है, हमारे स्थानीय मशीन पर कोड हमारे रिमोट रिपॉजिटरी में कोड के समान है। हमारा कोड रिमोट रिपॉजिटरी में उपलब्ध है इसलिए हमारे टीम मेंबर्स हमारे द्वारा किए गए परिवर्तनों को देख सकेंगे।

वैकल्पिक रूप से, यदि हम अपने कोड को "v1.9" ब्रांच में पुश करना चाहते थे, तो हम "master" के बजाय ब्रांच नाम "v1.9" निर्दिष्ट कर सकते थे।

Git Push Force

जब आप git push कमांड लाइन ऑपरेशन का उपयोग कर रहे होते हैं, तो आप रिमोट रिपॉजिटरी में परिवर्तनों को पुश करने के लिए मजबूर करना चाह सकते हैं।

Git आपको रिपॉजिटरी में कोड पुश करने से रोकता है जब रिपॉजिटरी के रिमोट और स्थानीय इतिहास के बीच कन्फ्लिक्ट होता है। यदि रिमोट रिपॉजिटरी में 10 कमिट्स हैं जो आपकी स्थानीय मशीन पर प्रतिबिंबित नहीं होते हैं, तो आप अपना कोड पुश नहीं कर पाएंगे।

--force फ्लैग आपको रिपॉजिटरी में आपके द्वारा किए गए परिवर्तनों को "फोर्स पुश" करने की अनुमति देता है। फोर्स फ्लैग उन किसी भी परिवर्तन को हटा देता है जो आपके द्वारा रिपॉजिटरी से कोड अंतिम बार पुल करने के बाद से हुए होंगे।

आपको --force फ्लैग का उपयोग केवल तब करना चाहिए जब आप ध्यान दें कि आपने पुश में कोई त्रुटि की है जिसे आपने ठीक कर लिया है। अन्यथा, आपको इस कमांड का उपयोग करने से बचना चाहिए। यह सुनिश्चित करने में मदद करेगा कि आप Git रिपॉजिटरी में अनपेक्षित परिवर्तन न करें।

--force फ्लैग के लिए सिंटैक्स है:

git push <remote name> <branch name> --force

यह कमांड आपके कोड को फोर्स पुश करेगी। आने वाली किसी भी त्रुटि को नजरअंदाज कर दिया जाएगा।

Git Push to Origin Master उदाहरण

आइए एक सामान्य परिदृश्य के माध्यम से चलते हैं जहां आप Git push कमांड का उपयोग करना चाह सकते हैं।

मान लें कि आपने अभी अपने स्थानीय कोड में कुछ परिवर्तन किए हैं जिन्हें आप रिमोट रिपॉजिटरी में पुश करना चाहते हैं। आपने पहले से ही git commit का उपयोग करके एक कमिट बनाया है जिसमें आपके परिवर्तन संग्रहीत हैं। अपना कोड पुश करने के लिए, कुछ चरण हैं जिनका आपको पालन करना चाहिए।

सबसे पहले, आपको अपनी मास्टर ब्रांच पर नेविगेट करना चाहिए और सुनिश्चित करना चाहिए कि यह अद्यतित है। स्थानीय मास्टर ब्रांच वह ब्रांच है जिस पर हमने अपने परिवर्तन किए हैं। आप मास्टर ब्रांच पर नेविगेट कर सकते हैं:

git checkout master git fetch origin master

git checkout कमांड हमें "master" ब्रांच पर नेविगेट करती है। git fetch हमें हमारे रिमोट रिपॉजिटरी का नवीनतम संस्करण पुनः प्राप्त करने की अनुमति देता है।

हम मूल रिपॉजिटरी में अपनी मास्टर ब्रांच में किए गए परिवर्तनों के साथ एक कमिट बना सकते हैं:

git add README.md git commit -m "feat: Make changes to README" 

हमने README.md फ़ाइल को स्टेजिंग एरिया में जोड़ा। फिर हमने एक कमिट बनाया। हमारा कमिट संदेश "feat: Make changes to README" है। यह कमिट वर्तमान में हमारी स्थानीय ब्रांच पर संग्रहीत है।

फिर, हम अपना कोड पुश करने के लिए git push चला सकते हैं:

git push origin master

इस कमांड को चलाने पर, हमारे स्थानीय रिपॉजिटरी में कोड हमारे रिमोट रिपॉजिटरी में पुश हो जाएगा। क्योंकि हमने अपना कोड पुश करने से पहले जांचा था कि यह अद्यतित है, git push कमांड द्वारा कोई त्रुटि लौटाई नहीं जानी चाहिए।

निष्कर्ष

git push कमांड का उपयोग स्थानीय Git रिपॉजिटरी से रिमोट रिपॉजिटरी में परिवर्तनों को "पुश" करने के लिए किया जाता है। कोडबेस पर काम करने वाला हर कोई आपके द्वारा किए गए योगदानों को देख सकेगा एक बार जब वे पुश हो जाते हैं।

इस ट्यूटोरियल ने कोड पुश करने की मूल बातें और git push कमांड का उपयोग कैसे करें, इस पर चर्चा की। अब आप अपने कोड को रिमोट Git रिपॉजिटरी में Git मास्टर की तरह पुश करना शुरू करने के लिए तैयार हैं!

  1. Git Reset: कमिट पूर्ववत करने की पूरी गाइड Git Reset: कमिट पूर्ववत करने की पूरी गाइड

    Git का ट्रैकिंग तंत्र git reset पर जाने से पहले, हमें git की अंतर्निहित संरचना को समझने की आवश्यकता है। Git नोड्स और पॉइंटर्स के साथ ट्री-जैसी संरचनाओं के माध्यम से फ़ाइलों को प्रबंधित और ट्रैक करता है। आपके स्थानीय git रिपॉजिटरी पर मूल रूप से इन तीन ट्रीज़ हैं: वर्किंग डायरेक्टरी: या वर्किंग ट्री,

  1. Git और GitHub के साथ शुरुआत कैसे करें Git और GitHub के साथ शुरुआत कैसे करें

    GitHub वर्तमान में ओपन-सोर्स प्रोजेक्ट्स का दुनिया का सबसे बड़ा होस्ट है। GitHub पेज के कई लोकप्रिय उदाहरण हैं जिनमें Atom टेक्स्ट एडिटर, Google द्वारा TensorFlow और Facebook द्वारा React शामिल हैं। यह Big Data, Artificial Intelligence या Internet of Things पर उन्नत परियोजनाओं को रखने के लिए सबसे अच

  1.  Fatal: Origin does not appear to be a Git Repository  त्रुटि कैसे ठीक करें 'Fatal: Origin does not appear to be a Git Repository' त्रुटि कैसे ठीक करें

    Git एक वितरित संस्करण नियंत्रण प्रणाली है जिसका उपयोग मुख्य रूप से सॉफ़्टवेयर विकास के दौरान सोर्स कोड में परिवर्तनों को ट्रैक करने के लिए किया जाता है। GitHub, Git का उपयोग करके संस्करण नियंत्रण के लिए एक ऑनलाइन होस्टिंग सेवा है। दोनों सेवाओं का सॉफ़्टवेयर विकास में बड़े पैमाने पर उपयोग किया जाता ह