आपका पहला रिपॉजिटरी


आप आम तौर पर दो तरीकों से यहां पहुंचते हैं। या तो आपके पास पहले से एक प्रोजेक्ट फ़ोल्डर है, एक weather-app जो आप स्थानीय रूप से बना रहे हैं, और आप चाहते हैं कि Git इसके इतिहास को रिकॉर्ड करना शुरू करे। या किसी और ने पहले से ही प्रोजेक्ट बनाया है, यह GitHub पर रहता है, और आप अपनी मशीन पर इसकी अपनी कार्यशील प्रति चाहते हैं। दोनों तीन छोटी commands से शुरू होते हैं, और इस chapter के अंत तक आप सभी तीन को वास्तव में उपयोग कर चुके होंगे। लेकिन पहले, एक जांच जो दस सेकंड लेती है: यह सुनिश्चित करना कि Git आपकी मशीन पर है ही या नहीं।
क्या आपके पास Git इंस्टॉल है?
इस handbook में सब कुछ terminal में होता है, इसलिए पहला कदम एक खोलना है। एक terminal एक ऐसा ऐप है जहां आप commands को टेक्स्ट के रूप में टाइप करते हैं और प्रोग्राम टेक्स्ट में जवाब देते हैं। यह पहले से ही आपके कंप्यूटर पर है:
- macOS: ऐप को Terminal कहा जाता है। Cmd+Space दबाएं, "terminal" टाइप करें, और Enter दबाएं।
- Windows: अभी के लिए PowerShell खोलें (Start menu में "powershell" खोजें)। नीचे Git इंस्टॉल करने से Git Bash भी जुड़ जाता है, एक terminal जो बिल्कुल इसके लिए बनाया गया है, और दोनों एक ही Git commands चलाते हैं।
- Linux: Terminal या Console नाम का ऐप खोजें; कई distributions पर Ctrl+Alt+T इसे खोलता है।
Git स्वयं एक command-line प्रोग्राम है: इसकी कोई अपनी विंडो नहीं है, और आप इसे ऐसी commands टाइप करके उपयोग करते हैं जो शब्द git से शुरू होती हैं और यह जो प्रिंट करता है वह पढ़ते हैं। यह भी है कि इस handbook में हर code block को कैसे पढ़ा जाए: $ से शुरू होने वाली line वह command है जो आप टाइप करते हैं (बिना $ के), और इसके नीचे की lines Git का जवाब हैं।
तो, जांच। अपने terminal में यह टाइप करें और Enter दबाएं:
$ git --version
git version 2.45.1एक version number वापस आना मतलब Git इंस्टॉल है और आप तैयार हैं। आपका नंबर इस से अलग हो सकता है, और यह ठीक है। अगर आप इसके बजाय "command not found" या "git is not recognized" देखते हैं, तो Git आपकी मशीन पर नहीं है, और इसे इंस्टॉल करना एक बार का काम है:
- macOS:
git --versionचलाने से आमतौर पर एक dialog खुलता है जो Apple के Command Line Tools को इंस्टॉल करने की पेशकश करता है। इसे स्वीकार करें, और macOS आपके लिए Git को इंस्टॉल कर देता है। - Windows: git-scm.com/downloads से Git for Windows डाउनलोड करें और installer को चलाएं। defaults सभी उचित विकल्प हैं, और यह रास्ते में Git Bash को भी इंस्टॉल करता है।
- Linux: अपने distribution के package manager के साथ
gitpackage को इंस्टॉल करें, उदाहरण के लिए Ubuntu और Debian परsudo apt install git।
एक बार install पूरा हो जाने के बाद, अपना terminal बंद करें, एक नया खोलें, और फिर से git --version चलाएं। एक version number मतलब आप setup के साथ अच्छे के लिए किए गए हैं; इस handbook के बाकी कुछ भी को इंस्टॉल करने की जरूरत नहीं है।
git --version बताता है कि यह आपकी मशीन पर है या नहीं: एक version number मतलब आप तैयार हैं, और "command not found" मतलब इसे git-scm.com या अपने system के installer से इंस्टॉल करें। आप यह भाग केवल एक बार ही करते हैं। Setup किसी भी handbook का सबसे कम मजेदार हिस्सा है, इसलिए इसे पार करने के लिए शाबाश! एक फ़ोल्डर को एक रिपॉजिटरी में बदलना
एक terminal खोलें और cd (short for "change directory") के साथ अपने project folder में जाएं, फिर एक command चलाएं, git init:
$ cd weather-app
$ git init
Initialized empty Git repository in /Users/mara/projects/weather-app/.git/वह folder अब एक repository है: एक project जो Git देख रहा है, इसके snapshots को record करने के लिए तैयार। git init हर बार एक ही काम करता है। यह एक hidden .git folder को खोजता है, अगर यह गायब है तो एक बनाता है, और उस बिंदु से folder Git के watch के अंदर है।
एक नई repository की default branch को main कहा जाता है। अगर आप एक older tutorial, एक older repository, या कुछ साल पहले recorded एक course में land करते हैं, तो आप master को बिल्कुल same चीज के लिए use किया हुआ देखेंगे: यह एक older name के तहत same पहली branch है। यह handbook हमेशा main use करता है।
एक branch क्या है?
एक branch आपके commits के लिए history की एक अलग line है, और main वह है जो हर नई repository के साथ शुरू होता है। Branches उन्हें create करने और उनके बीच switch करने को cover करता है।
git init किसी भी folder को एक Git repository में बदल देता है, Git को track करने के लिए तैयार। इसे एक बार किसी project folder के अंदर चलाएं और आप तैयार हैं, और बाद में फिर से चलाने से कोई हानि नहीं होती। नई repositories की default branch main कहलाती है, हालांकि पुरानी जो आप बाहर निकलते हैं वह अक्सर same चीज के लिए master कहलाती हैं। Git को बताना कि आप कौन हैं
अपने पहले commit से पहले, Git जानना चाहता है कि इसे कौन बना रहा है। एक बार दो values set करें, और Git उन्हें इस machine पर हर commit के लिए याद रखता है जो आप बनाते हैं:
$ git config --global user.name "राज कुमार"
$ git config --global user.email "[email protected]"हर commit जो आप बनाते हैं वह उस name और email के साथ stamp किया जाता है। इस step को skip करें, और Git कुछ guessed करने के लिए fallback करता है आपके computer के username और hostname से, इसलिए आपके commits एक identity carry करते हैं जो आपने कभी नहीं चुना।
अपने पहले commit से पहले अपना name और email set करें। पहले commit करें और फिर उन्हें set करें, और गलती उस commit के history में baked हो जाती है। बदतर, कुछ hosts (GitHub included) email द्वारा अपने account से commits को match करते हैं, इसलिए गलत address या guessed address के तहत बनाया गया एक commit anonymous stranger के काम के रूप में दिखाई देता है instead of yours के।
git config --global user.name और git config --global user.email name और email set करते हैं जो Git हर commit पर stamp करता है जो आप बनाते हैं। अपने पहले commit से पहले उन्हें set करें, क्योंकि एक commit जो आप अपना email set करने से पहले बनाते हैं वह एक guessed identity को attribute किया जाता है, और GitHub जैसा एक host शायद इसे आपके account से connect न करे। इसे एक बार करें और आपकी machine पर हर repository इसे याद रखती है। git clone से एक existing project को copy करना
कभी-कभी project पहले से ही कहीं और exist करता है, और आप इसकी एक working copy अपनी machine पर चाहते हैं। git clone यह एक command में करता है:
$ git clone https://github.com/octocat/Hello-World.git
Cloning into 'Hello-World'...
remote: Enumerating objects: 13, done.
remote: Total 13 (delta 0), reused 0 (delta 0), pack-reused 13
Receiving objects: 100% (13/13), done.Git एक नया folder बनाता है Hello-World नाम का, project के full history को इसमें download करता है, और files को folder में रखता है इसलिए आप तुरंत reading या editing शुरू कर सकते हैं। कोई अलग git init step की जरूरत नहीं है। Cloning download के part के रूप में repository को आपके लिए set up करता है।
git clone <url> किसी और के repository को download करता है, पूरा history included, एक नए folder में जो project के नाम के बाद है। इसे use करें जब project पहले से exist करता है; git init use करें जब आप एक को scratch से start कर रहे हों। एक बार cloning खत्म हो जाने के बाद आपके पास एक full working copy है, देखने या add करने के लिए तैयार। Hidden .git folder के अंदर क्या है
हर repository, चाहे आप git init या git clone से वहां गए हों, अपने root पर .git नाम का एक hidden folder है। यह default से hidden है, इसलिए terminal से पूरी listing मांगें ls -a के साथ (ls एक folder की contents को list करता है, और -a hidden entries को include करता है) यह अपनी normal project files के साथ बैठे हुए देखने के लिए:
$ ls -a
. .. .git README.md srcवह folder real repository है। यह हर commit को hold करता है जो आप बनाते हैं, आपकी branches, और ऊपर section से config settings। .git folder को delete करें और project अपना पूरा history खो देता है, एक ordinary folder में वापस turning जो Git अब track नहीं करता। project में बाकी सब कुछ .git रखता है का एक working copy है।
.git folder है, और वह folder real repository है: आपका पूरा history और इसकी settings वहां रहती हैं। एक project के अंदर .git देखने के लिए ls -a चलाएं, क्योंकि यह default से hidden है। कभी भी इसे delete न करें जब तक आप actually project के पूरे history को erase करना न चाहते हों, क्योंकि इसे delete करना folder को एक plain folder में वापस turn करता है Git अब track नहीं करता। अगर repository और commit terms अभी भी fuzzy feel करते हैं, What is Git mental model को cover करता है जो ये commands build करते हैं, और Glossary में इस chapter में हर vocabulary का एक short definition है। एक बार आपकी identity set हो जाने के और आपके पास काम करने के लिए एक repository हो, The commit loop everyday cycle को cover करता है editing, staging, और committing का जो आप constantly से use करेंगे।

