यो पोष्ट गिट चीट शीट हो जुन सब भन्दा साधारण गीट कमाण्डहरू हुन् जुन तपाईले दैनिक आधारमा प्रयोग गर्नुहुनेछ।
यदि तपाइँ विकासकर्ताहरूको साथ टेक्निकल टेस्टर हुनुहुन्छ भने, तपाइँ आधारभूत Git आदेशहरूसँग परिचित हुनुपर्दछ।
यस पोष्टमा पर्याप्त Git ज्ञान समावेश छ तपाईलाई QA को रूपमा दैनिक दिनको आधारमा जानका लागि।
यदि तपाइँ Git तपाइँको मेशिन मा स्थापित छैन भने, तपाइँ मा चरणहरु अनुसरण गर्न सक्नुहुन्छ म्याकमा Git कसरी स्थापना गर्ने र SSH कुञ्जीहरू उत्पन्न गर्ने ।
खाली गिट रेपो सिर्जना गर्नुहोस् वा अवस्थित एकलाई पुनः सुरु गर्नुहोस्
$ git init
Foo रेपो क्लोन गर्नुहोस् एक नयाँ निर्देशिकामा foo भनिन्छ:
$ git clone https://github.com//foo.git foo
जब तपाईं नयाँ सुविधामा काम गर्न चाहानुहुन्छ, तपाईं सामान्यतया Git मा नयाँ शाखा सिर्जना गर्नुहुन्छ। त्यस्तै रूपमा, तपाईं सामान्यतया मास्टर शाखाबाट टाढा रहन चाहनुहुन्छ र तपाईंको आफ्नै विशेष शाखामा काम गर्न चाहनुहुन्छ जुन मास्टर सधैं सफा हुन्छ र तपाईं यसबाट नयाँ शाखाहरू सिर्जना गर्न सक्नुहुनेछ।
नयाँ शाखा प्रयोग गर्न:
$ git checkout -b
यदि तपाइँ जान्न चाहानुहुन्छ कुन शाखा तपाईको कार्य निर्देशिका मा उपलब्ध छ, तब प्रयोग गर्नुहोस्:
$ git branch
उदाहरण आउटपुट:
develop my_feature master
जब तपाईं नयाँ शाखा सिर्जना गर्नुहुन्छ तब Git स्वचालित रूपमा नयाँ शाखामा स्विच हुन्छ।
यदि तपाईंसँग धेरै शाखाहरू छन् भने, तपाईं सजिलैसँग git चेकआउटको साथ शाखा बीच स्विच गर्न सक्नुहुन्छ:
$ git checkout master $ git checkout develop $ git checkout my_feature
स्थानीय शाखा मेटाउन:
$ git branch -d
-D
प्रयोग गर्नुहोस् विकल्प फ्ल्याग यसलाई बल गर्न।
मूलमा रिमोट शाखा मेटाउन:
$ git push origin :
सम्बन्धित:
To चरण एक फाइल केवल यो एक कमिट को लागी तयार गर्नु हो। जब तपाईं केही फाईलहरू थप गर्नुहुन्छ वा परिमार्जन गर्नुहुन्छ, तपाईंले ती परिवर्तनहरूलाई 'स्टेजिंग क्षेत्र' मा स्टेज गर्न आवश्यक पर्दछ। बक्सको रूपमा स्टेजिंगको बारेमा सोच्नुहोस् जहाँ तपाईंको ओछ्यानमुनि श्याभ गर्नु अघि सामानहरू राख्नुहुन्छ, जहाँ तपाईंको ओछ्यान तपाईंले पहिले खोलेको बक्सहरूको भण्डार हो।
फाईलहरू स्टेज गर्न वा केवल फाईलहरू थप्न, तपाईंले git add आदेश प्रयोग गर्नु आवश्यक छ। तपाईं व्यक्तिगत फाईलहरू चरण गर्न सक्नुहुन्छ:
$ git add foo.js
वा सबै फाइलहरू एकैचोटि:
$ git add .
यदि तपाईं चरणबाट निश्चित फाइल हटाउन चाहनुहुन्छ भने:
$ git reset HEAD foo.js
वा सबै चरणबद्ध फाईलहरू हटाउनुहोस्:
$ git reset HEAD .
तपाई कमाण्डको लागि उपनाम पनि सिर्जना गर्न सक्नुहुनेछ र Git को साथ प्रयोग गर्नुहोस्।
$ git config --global alias.unstage 'reset HEAD' $ git unstage .
यदि तपाईं कुन फाइलहरू सिर्जना, परिमार्जन वा मेटाइएको हेर्न चाहानुहुन्छ, गित स्थितिले तपाईंलाई रिपोर्ट देखाउनेछ।
$ git status
प्राय: कमिट गर्नु राम्रो अभ्यास हो। तपाईं जहिले पनि धकेल्नु अघि तपाईंको कमिटहरू स्क्वाश गर्न सक्नुहुन्छ। तपाईंले आफ्नो परिवर्तनहरू गर्नु अघि, तपाईंले उनीहरूलाई मंचन गर्न आवश्यक पर्दछ।
कमिट कमाण्डलाई एक -m विकल्प चाहिन्छ जसले कमिट सन्देश निर्दिष्ट गर्दछ।
तपाइँ तपाइँका परिवर्तनहरू यस्तै गर्न सक्नुहुन्छ:
$ git commit -m 'Updated README'
निम्न आदेशले तपाईंको भर्खरको प्रतिबद्धतालाई अन्डु गर्दछ र ती परिवर्तनहरूलाई पुन: स्टेजमा राख्दछ, त्यसैले तपाईं कुनै काम गुमाउँनुहुन्न:
$ git reset --soft HEAD~1
पूर्ण रूपमा कमिट मेट्न र कुनै पनि परिवर्तन प्रयोग दूर फ्याक्न को लागी:
$ git reset --hard HEAD~1
मानौं हामीसँग comm कमिट छ, तर तपाईंले अहिले सम्म केहि पनि धकेल्नु भएको छैन र तपाई सबै कुरालाई एक कमिटमा राख्न चाहानुहुन्छ, त्यसोभए तपाईं प्रयोग गर्न सक्नुहुनेछ:
$ git rebase -i HEAD~4
| HEAD~4
अन्तिम चार कमिटलाई जनाउँछ।
| -i
विकल्पले अन्तर्क्रियात्मक पाठ फाइल खोल्छ।
तपाईले प्रत्येक कमिटको बाँयामा शब्द 'छान्नुहोस्' देख्नुहुनेछ। एक माथी एक्लो छोड्नुहोस् र अन्य सबैलाई 'स्' स्क्वासका लागि बदल्नुहोस्, फाइल बचत गर्नुहोस् र बन्द गर्नुहोस्।
त्यसो भए अर्को अन्तर्क्रियात्मक विन्डो खुल्दछ जहाँ तपाईं आफ्ना प्रतिबद्ध सन्देशहरूलाई नयाँ कमिट सन्देशमा अपडेट गर्न सक्नुहुनेछ।
तपाईंले आफ्नो परिवर्तनहरू प्रतिबद्ध गरिसकेपछि, अर्को रिमोट भण्डारमा पुश गर्नु हो।
पहिलो पटक स्थानीय शाखा पुश गर्नुहोस्:
$ git push --set-upstream origin
त्यस पछि, त्यसपछि तपाईले प्रयोग गर्न सक्नुहुनेछ
$ git push
स्थानीय शाखालाई भिन्न टाढाको शाखामा धकेल्न तपाईले प्रयोग गर्न सक्नुहुनेछ:
$ git push origin :
यदि तपाईंले तपाईंको अन्तिम पुशलाई अन्डु गर्नुपर्यो भने, तपाईं प्रयोग गर्न सक्नुहुन्छ:
$ git reset --hard HEAD~1 && git push -f origin master
जब तपाईं git fetch
प्रयोग गर्नुहुन्छ, Git ले तपाईंको हालको शाखाहरूमा अन्य समेटहरू मर्ज गर्दैन। यो विशेष गरी उपयोगी छ यदि तपाईंले आफ्नो भण्डारलाई अद्यावधिक राख्नु आवश्यक छ, तर केहि काम गर्दै हुनुहुन्छ जुन तपाईंले फाईलहरू अपडेट गर्नुभयो भने विच्छेद हुन सक्छ।
कमट्सलाई तपाइँको मास्टर शाखामा एकीकृत गर्न, तपाईं merge
प्रयोग गर्नुहोस्।
$ git fetch upstream
पुलिंग केवल मर्ज पछि फ्याच गर्दै छ। जब तपाईं git pull
प्रयोग गर्नुहुन्छ, गिट स्वचालित रूपमा अन्य कमिटहरू मर्ज गर्दछ तपाईं पहिले तिनीहरूको समीक्षाको लागि अनुमति दिए बिना। यदि तपाईंले आफ्नो शाखालाई नजिकबाट प्रबन्ध गर्नुभएन भने, तपाईं बारम्बार झगडामा लाग्न सक्नुहुन्छ।
यदि तपाईं सँग एक शाखा भनिन्छ भने | _ _ _ _ | र तपाईं त्यो शाखा तान्न चाहनुहुन्छ, तपाईं प्रयोग गर्न सक्नुहुनेछ:
my_feature
वा, यदि तपाईं सबै कुरा र सबै अरू शाखाहरू तान्न चाहनुहुन्छ भने
$ git pull origin/my_feature
जब तपाईं चलाउनुहुन्छ। _ _ _ _ |, तपाईंको HEAD शाखा उत्पन्न गर्दछ नयाँ कमिट , प्रत्येक प्रतिबद्ध इतिहास को पूर्वज संरक्षण।
को ओभरशूट एउटा शाखाको परिवर्तनलाई अर्कोमा लेख्छ बिना नयाँ कमिट सिर्जना गर्दै।
$ git pull
वा रिबेस विकल्पको साथ तपाईले प्रयोग गर्नुहुन्छ:
git merge
$ git checkout my_feature $ git merge master
कहिलेकाँही तपाईं शाखामा परिवर्तन गर्नुहुन्छ, र तपाईं अर्को शाखामा स्विच गर्न चाहनुहुन्छ, तर तपाईं आफ्नो परिवर्तनहरू हराउन चाहनुहुन्न।
तपाईं आफ्नो परिवर्तनहरू टाँस्न सक्नुहुन्छ। यहाँ छ कि तपाईं Git मा कसरी स्ट्याश गर्नुहुन्छ।
$ git checkout my_feature $ git rebase master
अब, यदि तपाईं ती परिवर्तनहरू अनस्ट्याश गर्न चाहनुहुन्छ र तिनीहरूलाई तपाईंको कामको डाइरेक्टरी प्रयोगमा फिर्ता ल्याउन चाहनुहुन्छ भने:
$ git checkout master $ git merge my_feature