
आवश्यक इनपुट:
- गिट के बारे में मेरा लेख पढ़ें, साथ चलें और समझें । इससे यह सुनिश्चित करने में मदद मिलेगी कि सब कुछ सेट अप है और जाने के लिए तैयार है।
- IntelliJ आईडिया स्थापित करें।
- पूर्ण महारत हासिल करने के लिए एक घंटे का व्यक्तिगत समय आवंटित करें।
परियोजना को स्थानीय रूप से क्लोन करें
यहां दो विकल्प हैं:- यदि आपके पास पहले से ही एक GitHub खाता है और बाद में कुछ पुश करना चाहते हैं, तो प्रोजेक्ट को फोर्क करना और अपनी कॉपी को क्लोन करना बेहतर होगा।
- मेरे रिपॉजिटरी को क्लोन करें और सब कुछ स्थानीय रूप से सर्वर पर पूरी चीज को धक्का देने की क्षमता के बिना करें। आखिरकार, यह मेरा भंडार है :)
-
प्रोजेक्ट का पता कॉपी करें:
-
IntelliJ IDEA खोलें और "संस्करण नियंत्रण से प्राप्त करें" चुनें:
-
प्रोजेक्ट का पता कॉपी और पेस्ट करें:
-
आपको IntelliJ IDEA प्रोजेक्ट बनाने के लिए कहा जाएगा। ऑफर स्वीकार करें:
-
चूंकि कोई बिल्ड सिस्टम नहीं है और यह इस आलेख के दायरे से बाहर है, इसलिए हम मौजूदा स्रोतों से प्रोजेक्ट बनाएं चुनें :
-
आगे आपको यह सुंदर स्क्रीन दिखाई देगी:
अब जब हमने क्लोनिंग का पता लगा लिया है, तो आप चारों ओर देख सकते हैं।
Git UI के रूप में IntelliJ IDEA पर पहली नज़र
क्लोन प्रोजेक्ट पर करीब से नज़र डालें: आप पहले से ही संस्करण नियंत्रण प्रणाली के बारे में बहुत सारी जानकारी प्राप्त कर सकते हैं। सबसे पहले, हमारे पास निचले बाएँ कोने में संस्करण नियंत्रण फलक है। यहां आप सभी स्थानीय परिवर्तन पा सकते हैं और कमिट की सूची प्राप्त कर सकते हैं ("गिट लॉग" के अनुरूप)। लॉग की चर्चा पर चलते हैं । एक निश्चित विज़ुअलाइज़ेशन है जो हमें यह समझने में मदद करता है कि विकास कैसे आगे बढ़ा है। उदाहरण के लिए, आप देख सकते हैं कि txt कमिट में जोड़े गए हेडर के साथ एक नई शाखा बनाई गई थी, जिसे बाद में मास्टर शाखा में मिला दिया गया था। यदि आप किसी कमिट पर क्लिक करते हैं, तो आप दाएँ कोने में कमिट के बारे में सारी जानकारी देख सकते हैं: उसके सभी परिवर्तन और मेटाडेटा।



रिपॉजिटरी के साथ काम करना
उपयोगी हॉटकीज़
भविष्य के काम के लिए, आपको कुछ बहुत ही उपयोगी हॉटकी याद रखने की आवश्यकता है:- CTRL+T — रिमोट रिपॉजिटरी (git पुल) से नवीनतम परिवर्तन प्राप्त करें।
- CTRL+K — एक कमिट बनाएं / सभी मौजूदा बदलाव देखें। इसमें अनट्रैक और संशोधित दोनों फाइलें शामिल हैं (गिट के बारे में मेरा लेख देखें, जो इसे समझाता है) (गिट कमिट)।
- CTRL+SHIFT+K — यह रिमोट रिपॉजिटरी में परिवर्तन करने के लिए कमांड है। स्थानीय रूप से बनाए गए और अभी तक दूरस्थ रिपॉजिटरी में नहीं बनाए गए सभी कमिट को पुश (गिट पुश) किया जाएगा।
- ALT+CTRL+Z - स्थानीय रिपॉजिटरी में बनाए गए अंतिम कमिट की स्थिति में एक विशिष्ट फ़ाइल में रोलबैक परिवर्तन। यदि आप ऊपरी बाएँ कोने में संपूर्ण प्रोजेक्ट का चयन करते हैं, तो आप सभी फ़ाइलों में परिवर्तन वापस कर सकते हैं।

हम क्या चाहते हैं?
काम पूरा करने के लिए, हमें हर जगह इस्तेमाल होने वाले बुनियादी परिदृश्य में महारत हासिल करनी होगी। उद्देश्य एक अलग शाखा में नई कार्यक्षमता को लागू करना है और फिर इसे एक दूरस्थ रिपॉजिटरी में धकेलना है (फिर आपको मुख्य शाखा के लिए एक पुल अनुरोध बनाने की भी आवश्यकता है, लेकिन यह इस लेख के दायरे से बाहर है)। इसे करने की क्या आवश्यकता है?-
मुख्य शाखा में सभी वर्तमान परिवर्तन प्राप्त करें (उदाहरण के लिए, "मास्टर")।
-
इस मुख्य ब्रांच से अपने काम के लिए एक अलग ब्रांच बनाएं।
-
नई कार्यक्षमता लागू करें।
-
मुख्य शाखा में जाएं और जांचें कि क्या हमारे काम करने के दौरान कोई नया बदलाव आया है। यदि नहीं, तो सब ठीक है। लेकिन अगर परिवर्तन होते हैं, तो हम निम्न कार्य करते हैं: कार्यशील शाखा में जाएं और मुख्य शाखा से हमारे परिवर्तनों को फिर से शुरू करें। अगर सब कुछ ठीक रहा तो बहुत अच्छा। लेकिन यह पूरी तरह संभव है कि विवाद होंगे। जैसा कि होता है, दूरस्थ रिपॉजिटरी में समय बर्बाद किए बिना, उन्हें पहले से ही हल किया जा सकता है।
क्या आप सोच रहे हैं कि आपको ऐसा क्यों करना चाहिए? यह अच्छा व्यवहार है और आपकी शाखा को स्थानीय भंडार में धकेलने के बाद होने वाले संघर्षों को रोकता है (बेशक, एक संभावना है कि संघर्ष अभी भी होगा, लेकिन यह बहुत छोटा हो जाता है)।
- अपने परिवर्तनों को दूरस्थ रिपॉजिटरी में पुश करें।
दूरस्थ सर्वर से परिवर्तन प्राप्त करें?
मैंने एक नई प्रतिबद्धता के साथ रीडमे में एक विवरण जोड़ा और इन परिवर्तनों को प्राप्त करना चाहता हूं। यदि स्थानीय रिपॉजिटरी और रिमोट रिपॉजिटरी दोनों में परिवर्तन किए गए हैं, तो हमें मर्ज और रिबेस के बीच चयन करने के लिए आमंत्रित किया जाता है। हम मर्ज करना चुनते हैं। CTRL+T दर्ज करें :

मास्टर के आधार पर एक नई शाखा बनाएँ
यहाँ सब कुछ सरल है।-
निचले दाएं कोने पर जाएं और Git: मास्टर पर क्लिक करें । + नई शाखा का चयन करें ।
चेकआउट शाखा चेकबॉक्स को चयनित छोड़ दें और नई शाखा का नाम दर्ज करें। मेरे लिए, यह रीडमी-इंप्रूवर होगा ।

गिट: मास्टर फिर गिट में बदल जाएगा : रीडमी-इंप्रूवर ।
आइए समानांतर काम का अनुकरण करें
विरोध प्रकट होने के लिए, किसी को उन्हें बनाना होगा: डी मैं ब्राउज़र के माध्यम से रीडमे को एक नई प्रतिबद्धता के साथ संपादित कर दूंगा, इस प्रकार समांतर कार्य को अनुकरण कर रहा हूं। यह ऐसा है जैसे जब मैं इस पर काम कर रहा था तो किसी ने उसी फ़ाइल में परिवर्तन किया हो। परिणाम संघर्ष होगा। मैं पंक्ति 10 से "fully" शब्द हटा दूंगा।हमारी कार्यक्षमता को लागू करें
हमारा काम रीडमे को बदलना और नए लेख में विवरण जोड़ना है। यानी Git में काम IntelliJ IDEA के जरिए होता है। इसे जोड़ें:


जांचें कि क्या मुख्य शाखा बदल गई है
हमने अपना कार्य पूरा किया। यह काम करता है। हमने परीक्षण लिखे। और सब ठीक है न। लेकिन सर्वर पर पुश करने से पहले, हमें अभी भी यह जांचना होगा कि क्या इस दौरान मुख्य शाखा में कोई बदलाव हुआ है। ऐसा कैसे हो सकता है? काफी आसानी से: किसी को आपके बाद एक कार्य प्राप्त होता है, और यह कि कोई व्यक्ति आपके द्वारा अपना कार्य पूरा करने की तुलना में तेज़ी से पूरा करता है। इसलिए हमें मास्टर ब्रांच में जाने की जरूरत है। ऐसा करने के लिए, हमें वह करना होगा जो नीचे स्क्रीनशॉट में निचले दाएं कोने में दिखाया गया है:



- अपना स्वीकार करें - केवल रीडमी-इम्प्रूवर से परिवर्तनों को स्वीकार करें।
- उनका स्वीकार करो - केवल गुरु से परिवर्तन स्वीकार करो।
- विलय - अपने आप को चुनें कि आप क्या रखना चाहते हैं और क्या त्यागना चाहते हैं।

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

दूरस्थ सर्वर में परिवर्तन पुश करें
अगला कदम दूरस्थ सर्वर में परिवर्तनों को धकेलना और एक पुल अनुरोध बनाना है। ऐसा करने के लिए, बस CTRL+SHIFT+K दबाएँ । तब हमें मिलता है:

बोनस भाग
सबसे पहले, मैं इस लेख में एक पुल अनुरोध का निर्माण नहीं जोड़ना चाहता था, लेकिन यह इसके बिना पूर्ण नहीं है। तो, चलिए एक GitHub रिपॉजिटरी में जाते हैं (वह जो निश्चित रूप से आपकी है :)) और हम देखते हैं कि GitHub पहले से ही जानता है कि हम क्या चाहते हैं: तुलना करें और अनुरोध करें

GO TO FULL VERSION