सबैलाई नमस्कार the अर्डर सूचीको पदहरू जारी राख्नु अघि, म git २.१ of को रिलिज उत्सव मनाउन चाहन्छु जसले प्याच र प्रत्येक प्रयोगकर्तालाई पठाएका प्रत्येकलाई धन्यवाद दिँदै, कुलमा हामीसँग अपडेट र सुधारहरू बीच 2.16००० लाइनहरू जस्तै थिए , जुन मेरो पहिलो संस्करणको राम्रोसँग बोल्दैन, तर यसले तपाईंको दयाको कुरा गर्छ - धन्यवाद! अब, म तपाईंलाई एउटा सानो रहस्य बताउनेछु, अहिलेसम्म यस्तो समय आएको छैन जब म लेख लेख्न बसेको छैन र यसको बारेमा धेरै सोचेको छु, सामान्यतया म एउटा पंक्तिमा लेख्छु, र त्यसपछि राम्रो छेपारोले दयालुता लिन्छ मेरो टाइपिंग गल्तीहरू सच्याउनुहोस् - त्यसैले उहाँलाई पनि धन्यवाद।
यो उत्तम होईन जब हामी लेख लेख्ने बारेमा कुरा गर्छौं, हुनसक्छ यसको उद्देश्य हुनुपर्दछ र संरचना निर्माण गर्नुपर्दछ, र साना बिन्दुहरू र समीक्षा र अन्य आदि मार्क गर्नुहोस्। अब, यो केवल सामान्य रूपमा ब्लगहरूमा लागू हुँदैन, तर एकमा आवश्यक छ सफ्टवेयरले राम्रो भएको बहाना गर्दछ 🙂 यस कार्यको लागि, र केही वर्ष अघि कर्नेलको विकासमा प्रयोग गरिएको संस्करण नियन्त्रण सफ्टवेयरको केही समस्या पछि, यो जन्म भएको थियो। git
????
कहाँ सिक्ने git
?
Git वरपर कागजातको मात्रा आश्चर्यजनक छ, यदि हामीले भर्खर स्थापनाको साथ आएका म्यान पृष्ठहरू लिए पनि, हामीसँग प्रशस्त मात्रामा पठन हुनेछ। म व्यक्तिगत रूपमा भेट्छु git book धेरै राम्रो डिजाइन गरिएको छ, यहाँ सम्म कि मैले सेक्शन of को केही खण्डहरू अनुवाद गरेको छु, मसँग अझै केहि छ, तर मलाई समय दिनुहोस् 😛 सायद यस महिनामा मैले त्यो सेक्सनको बाँकी रहेको कुरा अनुवाद गर्न सक्दछु।
गितले के गर्छ?
गिट द्रुत, प्रभावशाली, सरल र जानकारीको ठूलो भारी समर्थनका लागि डिजाइन गरिएको छ, जे भए पनि, कर्नेल समुदायले यो तिनीहरूको सफ्टवेयरको लागि सिर्जना गरेको छ, जुन विश्वको सबैभन्दा ठूलो संयुक्त सफ्टवेयरको संयुक्त काम हो र सयौं छन्। एक कोड आधारमा प्रति घण्टा योगदानहरू जुन एक मिलियन लाइनहरू भन्दा बढि छ।
Git को बारे मा चाखलाग्दो कुरा डाटा संस्करणहरु कायम गर्न को लागी यसको तरीका हो। पहिले (अन्य संस्करण नियन्त्रण कार्यक्रम) ले इतिहासको बिन्दुमा सबै अवस्थित फाईलहरूको कम्प्रेसन लिईयो, जस्तै बनाउनु जगेडा। गिटले फरक दृष्टिकोण लिन्छ, जब प्रदर्शन गर्दै commit
ईतिहासको बिन्दुमा चिन्ह लगाईन्छ, इतिहासको त्यस बिन्दुमा परिमार्जन र कार्यहरूको श्रृंखला हुन्छ, दिनको अन्त्यमा, सबै संशोधनहरू समयको साथ सँगै राखिन्छन् र फाइलहरू कम्प्रेस गर्न वा माइलस्टोनहरूको रूपमा चिन्ह लगाउनको लागि प्राप्त गरिन्छ। संस्करणहरु। किनकि म यी सबै जटिल ध्वनिहरू जान्दछु, म तपाईंलाई सुपर बेसिक उदाहरणमा जादुई यात्रामा लैजाँदैछु।
सानो गणना प्रणाली
क्यालकुलेटिक्स एक प्रोग्राम हुनेछ जुन दिइएको संख्याको वर्गहरू भेट्टाउने छ, हामी यसलाई सीमा गर्छौं र यो सम्भव भएसम्म सजिलो हुनेछ, त्यसैले मबाट धेरै सुरक्षा जाँचको आशा नगर्नुहोस्। पहिले हामी एउटा भण्डार सिर्जना गर्दैछौं, म गिथुबसँग एउटा ढु with्गाले दुई चरालाई मार्नेछु।
आफ्नै क्रिस्टोफर डियाज रिवरोस
हामीले लाइसेन्स जस्ता केही साधारण चीजहरू थपेका छौं (धेरै महत्त्वपूर्ण छ यदि तपाईं आफ्नो कामको रक्षा गर्न चाहानुहुन्छ भने, मेरो मामलामा उनीहरूलाई परिणामहरू बाँड्न बाध्य पार्नुहोस् यदि तिनीहरू यसलाई आधारको रूपमा प्रयोग गर्न चाहन्छन् भने: P)
अब हामी हाम्रो प्रिय टर्मिनलमा जाऔं, git clone
कमाण्ड हो जुन मा अवस्थित रिपोजिटरी डाउनलोड गर्न जिम्मेदार छ url
असाइन गरिएको र हाम्रो कम्प्युटरमा एक स्थानीय प्रतिलिपि सिर्जना गर्नुहोस्।
आफ्नै क्रिस्टोफर डियाज रिवरोस
अब जाँच गरौं git log
हाम्रो परियोजनाको इतिहासमा के भयो
यहाँ हामीसँग विभिन्न र colors्गमा धेरै जानकारीहरू छन् 🙂 यसलाई व्याख्या गर्ने प्रयास गरौं:
पहिलो पहेंलो रेखा "कमिट बारकोड" हो प्रत्येक कमिटको आफ्नै बेजोड पहिचानकर्ता हुन्छ, जससँग तपाई धेरै चीज गर्न सक्नुहुन्छ, तर हामी पछि यसलाई सुरक्षित गर्नेछौं। अब हामीसँग छ HEAD
सेलेस्ट र master
हरियो यी "पोइन्टर्स" हुन् तिनीहरूको समारोह हाम्रो इतिहासको हालको स्थानमा सूचित गर्नु (HEAD
) र शाखा हामीले हाम्रो कम्प्युटरमा काम गरिरहेका छौं (master
).
origin/master
इन्टरनेट को समकक्ष हो, origin
पूर्वनिर्धारित नाम हो जुन हाम्रोमा तोकिएको छ URL
र master
शाखा हो जुन तपाईं काम गर्दै हुनुहुन्छ ... यसलाई सरल राख्नको लागि, जससँग ए /
ती हुन् जुन हाम्रो टोलीमा छैनन्, तर इन्टरनेटमा के संदर्भ हुन्।
त्यसो भए हामीसँग लेखक, मिति र समय र कमिट सारांश छ। यो इतिहासको त्यो बिन्दुमा भएको घटनाको सानो समीक्षा हो, धेरै प्रोजेक्टहरूमा धेरै महत्त्वपूर्ण छ र त्यहाँ धेरै जानकारी निन्दा गरिएको छ। कमान्डको प्रतिबद्धतामा के भयो हेरौं हेरौं git show <código-de-commit>
आफ्नै क्रिस्टोफर डियाज रिवरोस
गित शो कमाण्डले हामीलाई प्याच ढाँचामा यस स्क्रिनमा लैजान्छ, जहाँ तपाईं इतिहासमा त्यस समयमा के थपिएको थियो र के हटाइएको थियो (यदि केही हटाइएको थियो) देख्न सक्नुहुन्छ, अहिलेसम्म यसले हामीलाई मात्र देखाउँदछ कि रेकर्डहरू .gitignore
,README.md
y LICENSE
.
अब व्यापारमा तल ओर्लौं, हामी एउटा फाइल लेखौं - हामी हाम्रो इतिहासमा पहिलो माइलस्टोन सिर्जना गर्दछौं:
आफ्नै क्रिस्टोफर डियाज रिवरोस
संक्षिप्तमा, हामी एक कार्यक्रम सिर्जना गर्न जाँदैछौं जुन हामीलाई निष्पादित गर्दा पारित तर्कहरूको संख्या देखाउँदछ, सरल simple
आफ्नै क्रिस्टोफर डियाज रिवरोस
त्यो सजिलो थियो - अब निम्न उपयोगी कमाण्ड हेर्नुहोस्: git status
आफ्नै क्रिस्टोफर डियाज रिवरोस
केही दयालु हृदयले यसलाई अनुसरण गर्न सजिलो बनाउन गिट अनुवाद गरेको छ, यहाँ हामीसँग धेरै उपयोगी जानकारी छन्, हामी जान्दछौं कि हामी मास्टर शाखामा छौं, जुन हामीसँग अपडेट गरिएको छ। origin/master
(Github शाखा), हामीसँग अनचेक फाइलहरू छन्! र त्यो थप्न हामीले प्रयोग गर्नु पर्छ git add
, प्रयास गरौं 🙂
आफ्नै क्रिस्टोफर डियाज रिवरोस
अब हामीसँग नयाँ हरियो स्पेस छ, जुनमा हामीले कार्य क्षेत्रमा थपेको फाईल प्रदर्शित हुन्छ। यस स्थानमा हामी हाम्रा परिवर्तनहरूलाई समूह बनाउन सक्दछौं वचनबद्धता गर्न, प्रतिबद्धताले हाम्रो प्रोजेक्टको ईतिहास भर मा एक माइलस्टोन समावेश गर्दछ, हामी प्रतिबद्धता सिर्जना गर्न गइरहेका छौं 🙂 git commit
आफ्नै क्रिस्टोफर डियाज रिवरोस
संक्षेपमा वर्णन गरियो, पहेंलो रेखा हाम्रो प्रतिबद्धताको शीर्षक हो, म लेख्छु। केवल दृश्य सन्दर्भको लागि। कालो पाठ भनेको अघिल्लो प्रतिबद्धतादेखि अहिले सम्म गरिएको परिवर्तनहरूको स्पष्टीकरण हो 🙂 हामी फाईल बचत गर्छौं र हामी देख्छौं कि हाम्रो प्रतिबद्धता रेजिस्ट्रीमा बचत भएको छ।
आफ्नै क्रिस्टोफर डियाज रिवरोस
अब हामी हाम्रो प्रोजेक्टको ईतिहास हेर्न गइरहेका छौं git log
आफ्नै क्रिस्टोफर डियाज रिवरोस
लगमा फेरि, हामी देख्न सक्छौं कि हरियो र रातो रेखा फरक छन्, त्यो यो छ किनकि हाम्रो कम्प्युटरमा हामी इन्टरनेटमा भण्डार गरिएको भन्दा माथि प्रतिबद्ध छौं - हामी काम जारी राख्न जाँदैछौं, मानौं कि अब म एउटा देखाउन चाहन्छु सन्देशमा प्रयोगकर्ताले प्रोग्राममा एक भन्दा बढी आर्गुमेन्ट राख्दछ (जुन क्याल्कुलेटरलाई भ्रमित बनाउँदछ 🙂)
हामी देख्न सक्छौं, हाम्रो प्रोग्राम धेरै बढेको छ, अब हामीसँग फंक्शन छ imprimir_ayuda()
जसले गणना कसरी प्रयोग गर्ने बारे मा एक सन्देश प्रदर्शन गर्दछ, र ब्लक मा main()
अब हामी संग एक समीक्षा गर्न if
(हामीले केहि प्रोग्रामिंग ट्युटोरियलमा पछि देख्ने केही चीज, अहिलेको लागि मात्र यो जान्नु आवश्यक छ कि यदि २ भन्दा बढि आर्गुमेन्ट क्याल्कुलेटिक्समा प्रविष्ट गरियो भने, प्रोग्राम समाप्त हुन्छ र मद्दत प्रदर्शन हुन्छ।
आफ्नै क्रिस्टोफर डियाज रिवरोस
अब तपाईले देख्न सक्नुहुनेछ कि यो संख्या प्रिन्ट हुन्छ जुन आर्गुमेन्ट्सको सट्टामा डेलिभर भएको थियो, तर कि मैले तपाईंलाई पहिले भनेको थिएन the जिज्ञासुको लागि। echo $?
कार्यान्वयन गरिएको अन्तिम कार्यक्रमको निकास कोड देखाउँदछ, जुन हो 1
किनकि यो त्रुटिमा समाप्त भएको छ। अब हामी समीक्षा गरौं कसरी हाम्रो कहानी जान्छ:
आफ्नै क्रिस्टोफर डियाज रिवरोस
अब हामी जान्दछौं कि हामी गितुब भन्दा अगाडि १ प्रतिबद्ध छौं, त्यो फाईल main.c
परिमार्जन गरिएको छ, त्यसो गरेर अर्को कमिट सिर्जना गरौं git add main.c
र त्यसपछि git commit
????
आफ्नै क्रिस्टोफर डियाज रिवरोस
अब हामी थोरै बढी विशिष्ट भएका छौं, किनकि हामीले एउटा समारोह कार्यान्वयन गरेका छौं र प्रमाणीकरण कोड परिवर्तन गरेका छौं। अब यो बचत भएको छ हामी हाम्रो अन्तिम परिवर्तन समीक्षा गर्न जाँदैछौं। हामी यसलाई संग हेर्न सक्छौं git show HEAD
आफ्नै क्रिस्टोफर डियाज रिवरोस
अब तपाई रातो र हरियो रेखा देख्न सक्नुहुनेछ, हामीले लाइब्रेरी थपेका छौं stdlib.h
, धेरै कोड परिमार्जन गरियो र हाम्रो कहानीमा प्रकार्य थप्यो।
अब हामी लग हेर्न गइरहेका छौं: (git log
)
आफ्नै क्रिस्टोफर डियाज रिवरोस
हामी देख्न सक्छौं कि हामी गितुब संस्करण भन्दा अगाडि दुईवटा कमिटहरू छौं, हामी मार्करलाई थोरै बराबर गर्नेछौं - त्यसको लागि हामी प्रयोग गर्छौं git push origin master
यसका साथ हामी भन्छौं, url मा मेरा कमिटहरू पठाउनुहोस् origin
शाखा मा master
आफ्नै क्रिस्टोफर डियाज रिवरोस
बधाई छ! अब तपाईका परिवर्तनहरू गिथुबमा छन्, के तपाई मलाई विश्वास गर्नुहुन्न? यसलाई समीक्षा गरौं 😉
आफ्नै क्रिस्टोफर डियाज रिवरोस
अब हामीसँग Github on मा comm कमिटहरू छन्
सारांश
हामीले यसका सब भन्दा आधारभूत पक्षहरूलाई छु्यौं git
, अब तिनीहरू आफ्ना प्रोजेक्टहरूमा साधारण कार्यप्रवाह सिर्जना गर्न सक्दछन्, गिटसँग गर्न सकिने सबै विस्तृत विविधताका चीजहरू शायद नै यी हुन्, तर यो निश्चित रूपमा विकासकर्ता वा ब्लगरका लागि सबैभन्दा व्यावहारिक र दैनिक चीज हो। हामी क्यालकुलेटरको अन्त्यमा पुगेका छैनौं, तर हामी त्यसलाई अर्को समयको लागि छोड्दैछौं - यहाँ पुग्नु भएकोमा धेरै धेरै धन्यवाद र मलाई आशा छ कि यसले तपाईंलाई धेरै परियोजनाहरूमा भाग लिन मद्दत गर्दछ 😀 अभिवादन
२ टिप्पणीहरू, तपाइँको छोड्नुहोस्
नमस्ते ... मलाई थाहा छैन तपाईं हो कि होइन, तर म यस रिपोर्टमा छविहरू देख्न सक्दिन ...
Saludos
यो मेरो ब्राउजरको साथ समस्या थियो। रिसाउनुमा लज्जित छ।
मैले अझै यसलाई अझ विस्तृत रूपमा पढ्नुपर्दछ, मँ एक नौसिखिया हुँ।
गिटसँग सुरू गर्न उत्कृष्ट लेख, यद्यपि म विवरण बुझ्न नोटहरू लिने सिफारिस गर्दछु।
केहि चीजहरू मलाई स्पष्ट छैनन्:
केका लागि विकल्प छ .Gitignore सी जोड्नुहोस्यद्यपि म अनुमान गर्दछु म यो देख्छु जब म यसलाई अभ्यास गर्छु,
Git add main.c अर्को गिट कमिट गर्नु भन्दा पहिले किन गर्नुपर्दछ, main.c लाई gt लाई नेटवर्क संस्करणसँग फाइल तुलना गर्न भन्दैन? के यसले ट्र्याकिंगका लागि सबै थपिएका फाईलहरू स्वचालित रूपमा तुलना गर्दैन?
नमस्ते गुइलर्मो - यो राम्रो छ कि तपाईंलाई यो उपयुक्त लाग्यो, तपाईंको प्रश्नहरूको उत्तर दिन:
.gitignore एक फाईल हो जसले git लाई बताउँदछ जुन कुन ढाँचा वा बान्कीलाई वेवास्ता गर्न सकिन्छ, यस अवस्थामा C ले चयन गर्दा .o फाइललाई वेवास्ता गर्न सकिन्छ र अन्य जुन संकलन समयमा उत्पन्न हुन्छन् जुन राम्रो छ किनकि अन्यथा तपाईंको git तुरुन्त पागल हुन्छ। प्रत्येक कम्पाइलेसन र अनुगमनको 🙂 तपाईं बिरा बनाएर वा पाठ सम्पादकको साथ यसको सी टेम्प्लेटमा छोड्ने ढाँचाहरूको ठूलो संख्या जाँच गर्न सक्नुहुनेछ।
यद्यपि git ले कार्य रूखमा थपिएको प्रत्येक फाईलको ट्र्याक राख्नेछ, अर्को विशेष कमिटमा कुन फाइलहरू प्रविष्ट हुन्छ भनेर विशेष रूपमा छनौट गर्न आवश्यक छ, उदाहरणको लागि, मानौं मानौं कि तपाईंको कामले तपाईंको अघि different बिभिन्न फाईलहरू परिमार्जन गर्न नेतृत्व गरेको छ। परिणाम हेर्न सक्षम हुनुहोस्। यदि तपाईं थोरै बढी विशिष्ट हुन र प्रत्येकमा के गरियो व्याख्या गर्न चाहनुहुन्छ भने, तपाईं git add file5 गर्न सक्नुहुन्छ; git प्रतिबद्ध; git थप्न file1; git प्रतिबद्ध… .2; गिट कमिट यस तरीकाले तपाईको कथा सफा छ र परिवर्तनहरू परिभाषित छन्। र यदि तपाइँले केहि परिवर्तन गर्नुपर्यो, वा उल्टाउनु पर्छ (अधिक उन्नत शीर्षकहरू) तपाईं विशेष चीजहरू उल्टाउन सक्नुहुनेछ वा बाँकी परिवर्तन नगरीकन विशिष्ट चीजहरू थप्न सक्नुहुन्छ।
आशा छ यसले सहयोग गर्दछ 🙂 अभिवादन र सोध्नु भएकोमा धन्यवाद
PS: git add नेटवर्कमा संस्करणसँग तुलना गर्न भन्दैन, तर तपाईंको कामको लाइनमा अघिल्लो प्रतिबद्धतासँग, यदि यो स्थानीय (हरियो) भएको छ भने यसलाई त्योसँग तुलना गर्नेछ, यदि यो टाढाको (रातो) भएको छ भने त्यो अर्कोसँग तुलना गर्नुहोस्। केवल स्पष्ट गर्न 😉
उत्तम, अवश्य पनि यो स्पष्ट पार्दछ।