सर्वांना नमस्कार order ऑर्डर यादीतील मजकूर पुढे चालू ठेवण्यापूर्वी, मला गिट २.१ of चे प्रकाशन साजरे करायचे आहे ज्यांनी पॅच पाठविलेल्या प्रत्येकाचे आणि प्रत्येक वापरकर्त्याचे आभार मानून, आमच्याकडे अद्यतने आणि दुरुस्त्या दरम्यान एकूण 2.16००० ओळी होत्या , जे माझ्या पहिल्या आवृत्तीबद्दल जास्त बोलत नाही, परंतु ते आपल्या दयाळूपणाबद्दल बोलते 🙂 धन्यवाद! आता मी तुम्हाला एक लहानसे रहस्य सांगेन, असेपर्यंत असेपर्यंत कधीपर्यंत मी लेख लिहायला बसलो नसतो आणि त्याबद्दल मी बरेच विचार केला आहे, सहसा मी फक्त एका ओळीत लिहितो, आणि नंतर चांगला सरडा दयाळूपणा घेतो माझ्या टायपिंगच्या चुका दुरुस्त करा 🙂 म्हणून त्याचेही आभार.
जेव्हा आपण लेख लिहिण्याविषयी बोलतो तेव्हा उत्तम नाही, असे मानले जाते की त्याचे उद्दीष्ट असणे आवश्यक आहे आणि रचना तयार करणे आवश्यक आहे आणि लहान मुद्दे आणि पुनरावलोकने इत्यादी चिन्हांकित करा. आता हे केवळ सर्वसाधारणपणे ब्लॉग्जवरच लागू होत नाही तर त्यामध्ये आवश्यक आहे सॉफ्टवेअर जे चांगले असल्याचे भासवते 🙂 या कार्यासाठी आणि काही वर्षांपूर्वी कर्नल विकासात वापरल्या जाणार्या आवृत्ती नियंत्रण सॉफ्टवेअरसह काही समस्या नंतर, त्याचा जन्म झाला git
🙂
कोठे शिकायचे git
?
गिटच्या आसपास असलेल्या दस्तऐवजीकरणाचे प्रमाण विस्मयकारक आहे, जरी आम्ही नुकतेच स्थापनेसह आलेल्या मॅन पृष्ठे घेतली, आमच्याकडे खूप वाचन आहे. मी वैयक्तिकरित्या शोधतो गिट बुक मी अगदी designed व्या भागातील काही भाषांतर केले आहे, तरीही मी काही गहाळ आहे, परंतु मला वेळ द्या - कदाचित या महिन्यात मी त्या भागाचे बाकीचे भाषांतर करू शकेन.
गिट काय करते?
गिट वेगवान, कार्यक्षम, सोपी आणि मोठ्या प्रमाणात माहितीचे समर्थन करण्यासाठी डिझाइन केले गेले आहे, तरीही, कर्नल समुदायाने हे त्यांच्या सॉफ्टवेअरसाठी तयार केले आहे, जे जगातील मुक्त सॉफ्टवेअरच्या सर्वात मोठ्या संयुक्त कामांपैकी एक आहे आणि शेकडो आहेत. दहा लाख ओळी ओलांडणार्या कोड बेसमध्ये दर तासाच्या योगदानाचे.
गिटबद्दल मनोरंजक गोष्ट म्हणजे डेटा आवृत्त्या राखण्याचा मार्ग. पूर्वी (इतर आवृत्ती नियंत्रण प्रोग्राम) इतिहासाच्या ठिकाणी अस्तित्त्वात असलेल्या सर्व फाईल्सचे कॉम्प्रेस घेतला, जसे की बॅकअप. गीट वेगळ्या दृष्टीकोनातून कार्य करतो, commit
इतिहासातील एक बिंदू चिन्हांकित केला जातो, इतिहासाच्या त्या बिंदूवर दिवसेंदिवस बदल आणि कामांची मालिका असते, वेळानंतर सर्व बदल एकत्रितपणे ठेवले जातात आणि फाइल्स संकुचित करण्यात सक्षम होण्यासाठी किंवा मैलाचे दगड म्हणून चिन्हांकित करण्यासाठी प्राप्त केली जातात आवृत्त्या हे सर्व क्लिष्ट वाटले आहे हे मला ठाऊक असल्याने, मी तुम्हाला एका सुपर बेसिक उदाहरणात जादुई प्रवासात घेऊन जात आहे.
लहान कॅल्क्युलेमेटिक्स प्रकल्प
कॅल्क्युलेमेटिक्स एक प्रोग्राम असेल जो दिलेल्या संख्येचे वर्ग शोधेल, आम्ही ते सीमध्ये करू आणि हे शक्य तितके सोपे होईल, म्हणून माझ्याकडून बरीच सुरक्षा तपासणीची अपेक्षा करू नका. प्रथम आपण एक भांडार तयार करणार आहोत, मी एका दगडात दोन पक्षी मारण्यासाठी गीथूबसह हे करीन.
आम्ही परवान्यासारख्या काही सोप्या गोष्टी जोडल्या आहेत (जर तुम्हाला तुमच्या कामाचे रक्षण करायचे असेल तर माझ्या दृष्टीने ते बेस म्हणून वापरू इच्छित असतील तर त्यांना परिणाम सामायिक करण्यास भाग पाड: P)
आता आपल्या प्रिय टर्मिनलवर जाऊ. git clone
मध्ये स्थित रेपॉजिटरी डाउनलोड करण्यास जबाबदार असलेली कमांड आहे url
आमच्या संगणकावर स्थानिक प्रत प्रदान आणि तयार करा.
आता तपासू git log
आमच्या प्रकल्पाच्या इतिहासात काय घडले आहे:
येथे आमच्याकडे निरनिराळ्या रंगांमध्ये बरीच माहिती आहे explain चला त्याचे स्पष्टीकरण देण्याचा प्रयत्न करूया:
पहिली पिवळी ओळ म्हणजे "कमिट बारकोड" प्रत्येक कमिटचा स्वतःचा एक अनोखा अभिज्ञापक असतो, ज्याद्वारे आपण बर्याच गोष्टी करू शकता, परंतु आम्ही नंतर ते जतन करू. आता आमच्याकडे आहे HEAD
सेलेस्ट आणि master
हिरवा हे "पॉईंटर्स" आहेत त्यांचे कार्य आमच्या इतिहासाच्या सद्यस्थितीत दर्शविणे आहे (HEAD
) आणि ज्या शाखेत आम्ही आमच्या संगणकावर काम करत आहोत (master
).
origin/master
इंटरनेटचा भाग आहे, origin
आमच्यास असाइन केलेले डिफॉल्ट नाव आहे URL
आणि master
आपण ज्या शाखेत काम करत आहात ती एक शाखा आहे ... ती सोपी ठेवण्यासाठी, ज्यांच्याकडे आहे /
ते असे आहेत जे आमच्या टीममध्ये नाहीत, परंतु इंटरनेटवर जे संदर्भ आहेत.
मग आमच्याकडे लेखक, तारीख आणि वेळ आणि कमिट सारांश आहे. इतिहासाच्या त्या क्षणी घडलेल्या घटनांचा हा एक छोटासा आढावा आहे, बर्याच प्रकल्पांमध्ये खूप महत्वाचा आहे आणि बर्याच माहितीचा निषेध आहे. कमांडच्या कमिटमध्ये काय घडले ते बारकाईने पाहू git show <código-de-commit>
गीट शो कमांड आपल्याला पॅच स्वरूपात या स्क्रीनवर घेऊन जाते, जिथे आपण इतिहासात त्या वेळी काय जोडले गेले होते आणि काय काढले गेले आहे (जे काही काढले गेले होते) ते पाहू शकता, आतापर्यंत केवळ तेच आम्हाला दर्शविते की नोंदी .gitignore
,README.md
y LICENSE
.
आता व्यवसायाकडे जाऊया, एक फाईल लिहा 🙂 आम्ही आमच्या इतिहासातील पहिला मैलाचा दगड तयार करू 😀:
थोडक्यात, आम्ही एक प्रोग्राम तयार करणार आहोत जो आपल्याला सोप्या when अंमलात आणताना पास झालेल्या वितर्कांची संख्या दर्शवितो
ते सोपे होते 🙂 आता पुढील उपयुक्त आज्ञा पाहू: git status
काही दयाळू मनाने त्याचे अनुसरण करणे सुलभ करण्यासाठी गिटचे भाषांतर केले आहे, येथे आपल्याकडे भरपूर उपयुक्त माहिती आहे, आम्हाला माहित आहे की आम्ही मास्टर ब्रँचमध्ये आहोत, जे आपल्यासह अद्ययावत झाले origin/master
(गीथब शाखा), आमच्याकडे अनट्रॅक केलेल्या फायली आहेत! आणि ते जोडण्यासाठी आम्हाला वापरावे लागेल git add
, चला प्रयत्न करूया 🙂
आता आपल्याकडे नवीन ग्रीन स्पेस आहे, ज्यामध्ये आपण कार्य क्षेत्रामध्ये जोडलेली फाईल दर्शविली जाईल. या ठिकाणी आम्ही आपले बदल वचनबद्ध करण्यासाठी गटबद्ध करू शकतो, वचनबद्धतेमध्ये आमच्या प्रकल्पाच्या संपूर्ण इतिहासात एक मैलाचा दगड असतो, आम्ही वचनबद्धता तयार करणार आहोत create git commit
थोडक्यात समजावून सांगितले की, पिवळ्या रेखा ही आमच्या प्रतिबद्धतेचे शीर्षक आहे, मी फक्त दृश्य संदर्भासाठी मेन. मागील मजकूरानंतर आत्तापर्यंत केलेल्या बदलांचे स्पष्टीकरण काळा मजकूर आहे 🙂 आम्ही फाईल सेव्ह करतो आणि रेजिस्ट्रीमध्ये जतन केलेली आपली कमिट दिसेल.
आता आम्ही आमच्या प्रकल्पाचा इतिहास पाहणार आहोत git log
पुन्हा लॉगमध्ये, आपण पाहु शकता की हिरव्या आणि लाल रेषांमध्ये भिन्नता आहे, ते म्हणजे आपल्या संगणकावर इंटरनेट मध्ये साठवलेल्या गोष्टींपेक्षा आपण वचनबद्ध आहोत-आम्ही काम चालू ठेवणार आहोत, समजा मला आता हे दर्शवायचे आहे. वापरकर्त्याने प्रोग्राममध्ये एकापेक्षा जास्त वितर्क ठेवले तर संदेश (जे कॅल्क्युलेटरला गोंधळात टाकेल 🙂)
जसे आपण पाहु शकतो की आपला प्रोग्रॅम खूप वाढला आहे, आता आपल्याकडे फंक्शन आहे imprimir_ayuda()
जी गणिते कशी वापरायची आणि ब्लॉकमध्ये संदेश दाखवतात main()
आता आम्ही यासह पुनरावलोकन करतो if
(प्रोग्रॅमिंग ट्यूटोरियल मध्ये आपण दुसर्या वेळी पाहणार आहोत, हे आता फक्त हे माहित असणे आवश्यक आहे की जर कॅल्क्युलेमॅटिक्समध्ये 2 हून अधिक युक्तिवाद नोंदवले गेले तर प्रोग्राम संपेल आणि मदत दिसेल. चला कार्यान्वित करू.
जसे आपण पाहू शकता की हे वितर्कांच्या संख्येऐवजी वितरित केलेल्या क्रमांकाचे मुद्रण करते, परंतु उत्सुकतेसाठी मी तुम्हाला पूर्वी सांगितले नव्हते echo $?
कार्यान्वित केलेल्या अंतिम प्रोग्रामचा एक्झिट कोड दर्शविते, जो आहे 1
कारण ती चुकून संपली आहे. आता आपली कथा कशी आहे याबद्दल पुनरावलोकन करूया:
आता आपल्याला माहित आहे की आम्ही फाईल जीथबच्या पुढे 1 कमिट आहोत main.c
सुधारित केले आहे, करून पुढील कमिट तयार करू git add main.c
आणि नंतर git commit
🙂
आम्ही फंक्शन कार्यान्वित केल्यामुळे आणि वैधता कोड बदलल्यामुळे आता आम्ही थोडे अधिक विशिष्ट आहोत. आता हे सेव्ह झाल्यामुळे आपण आपल्या शेवटच्या बदलाचे पुनरावलोकन करणार आहोत. आम्ही हे सह पाहू शकतो git show HEAD
आता आपण लाल आणि हिरव्या रेषा पाहू शकता, आम्ही लायब्ररी जोडली आहे stdlib.h
, बरेच कोड संपादीत केले आणि आमच्या कथेमध्ये कार्य जोडले.
आता आम्ही लॉग पाहू आहोत: (git log
)
आपण पाहु शकतो की गीथब व्हर्जनच्या आधी आपण दोन कमिट्स आहोत, आपण मार्करला थोडेसे वाढवणार आहोत - त्यासाठी आपण वापरत आहोत git push origin master
यासह आम्ही म्हणतो, माझे कमिट url वर पाठवा origin
शाखेत master
अभिनंदन! आता तुमचे बदल गीथूबवर आहेत, तुम्ही माझ्यावर विश्वास ठेवत नाही? चला त्याचे पुनरावलोकन करूया 😉
आता आपल्याकडे गीथूब on वर 3 कमिट आहेत
Resumen
च्या सर्वात मूलभूत बाबींवर आम्ही स्पर्श केला आहे git
, आता ते त्यांच्या प्रकल्पांमध्ये एक साधा कार्यप्रवाह तयार करू शकतात, जीटच्या सहाय्याने करता येणार्या सर्व प्रकारच्या विस्तीर्ण गोष्टींपैकी हे फारच क्वचितच आहे, परंतु विकसक किंवा ब्लॉगरसाठी निश्चितच ही सर्वात व्यावहारिक आणि दररोजची गोष्ट आहे. आम्ही कॅल्क्युलेटरच्या शेवटी पोहोचलो नाही, परंतु आम्ही हे दुसर्या वेळेस सोडणार आहोत here येथे येण्याबद्दल तुमचे आभार आणि मला आशा आहे की हे आपल्याला बर्याच प्रकल्पांमध्ये भाग घेण्यास मदत करते helps शुभेच्छा
नमस्कार ... आपण आहात की नाही हे मला माहित नाही, परंतु मी या अहवालात प्रतिमा पाहू शकत नाही ...
कोट सह उत्तर द्या
माझ्या ब्राउझरमध्ये ही समस्या होती. चीड आणणे.
मला अजून ते अधिक तपशीलाने वाचावे लागेल, मी एक नवीन आहे.
गिट सह प्रारंभ करण्यासाठी उत्तम लेख, जरी मी तपशील समजण्यासाठी नोट्स घेण्याची शिफारस करतो.
दोन गोष्टी मला समजल्या नाहीत:
काय पर्याय आहे .Gitignore सी जोडाजरी मी अंदाज करतो की जेव्हा मी याचा अभ्यास करतो तेव्हा मी हे पाहतो,
पुढील गिट कमिट करण्यापूर्वी आपल्याला गिट mainड मेनक सीएनओ पुन्हा करणे का आवश्यक आहे, मेन कॉटने त्या फाइलची नेटवर्क आवृत्तीशी तुलना करण्यास गिटला सांगितले नाही? हे ट्रॅकिंगसाठी सर्व जोडलेल्या फायलींची स्वयंचलितपणे तुलना करत नाही?
हॅलो गुइलरमो - आपल्या प्रश्नांची उत्तरे देण्यास हे आपल्याला उपयुक्त वाटले हे चांगले आहे:
.gitignore ही एक फाईल आहे जी gitignore ला सांगते की कोणत्या स्वरुपाचे किंवा नमुन्यांकडे दुर्लक्ष करायचे आहे, या प्रकरणात C ची निवड केल्याने .o फायलींकडे दुर्लक्ष केले जाऊ शकते आणि संकलनाच्या वेळी व्युत्पन्न केले गेलेले इतर कारण चांगले आहे कारण अन्यथा आपला गिट त्वरित वेडा होईल प्रत्येक संकलनाचे आणि पाठपुरावाचे - आपण मांजर करून किंवा मजकूर संपादकाद्वारे मोठ्या संख्येने असे स्वरूप वापरू शकता जे त्याच्या सी टेम्पलेटमध्ये वगळले आहेत.
जरी गीट वर्किंग ट्रीमध्ये जोडल्या गेलेल्या प्रत्येक फाईलचा मागोवा ठेवेल, परंतु पुढील कमिटमध्ये कोणत्या फायली दाखल केल्या जातील हे विशेषतः निवडणे आवश्यक आहे, त्याचे उदाहरण देण्यासाठी आपण समजू या की आपल्या कामामुळे यापूर्वी 5 भिन्न फायली सुधारित केल्या आहेत निकाल पाहण्यास सक्षम व्हा. आपण थोडे अधिक विशिष्ट होऊ इच्छित असल्यास आणि प्रत्येकामध्ये काय केले आहे हे समजावून सांगायचे असल्यास, आपण git fileड file1 करू शकता; गिट कमिट; गिट अॅड फाइल २; गिट कमिट… .2; गिट कमिट अशा प्रकारे आपली कथा स्वच्छ आहे आणि बदल चांगल्या प्रकारे परिभाषित आहेत. आणि जर आपणास काही बदल करायचे असेल, किंवा पूर्ववत करा (अधिक प्रगत विषय) आपण विशिष्ट गोष्टी परत करू शकता किंवा उरलेल्या गोष्टी न बदलता विशिष्ट गोष्टी जोडू शकता.
आशा आहे की हे मदत करेल-शुभेच्छा आणि विचारण्याबद्दल धन्यवाद
PS: git theड नेटवर्कवरील आवृत्तीशी तुलना करण्यास सांगत नाही, परंतु आपल्या कार्याच्या मागील कमिटसह, जर ते स्थानिक (हिरवे) असेल तर ते त्यास त्यास तुलना करेल, जर ते दूरस्थ असेल (लाल) असेल तर त्या इतरांशी तुलना करा. फक्त स्पष्ट करण्यासाठी 😉
परिपूर्ण, अर्थातच ते स्पष्ट करते.