सामग्री पर जाएं
GitTree

पाठ 5 · नींव

इच्छित स्नैपशॉट को स्टेज करें और अपनी पहली प्रतिबद्धता बनाएं

प्रोजेक्ट का README और हीरो पेज GitTree के अंदर बनाएं, पहले कमिट में जो है उसे चुनें, और जानबूझकर बाद में किए गए संपादन को अप्रतिबद्ध छोड़ दें। केवल एक अधिसूचना द्वारा सफलता का आकलन करने के बजाय जो दर्ज किया गया था उसे साबित करें।

प्रगति इस ब्राउज़र में सहेजी गई.

चलाने से YouTube से वीडियो लोड होता है (गोपनीयता-उन्नत मोड)।

अंग्रेजी कथन · English and Arabic कैप्शन

वीडियो पेज खोलेंयूट्यूब पर देखें

आप क्या सीखेंगे

  • GitTree में पहली दो प्रोजेक्ट फ़ाइलें बनाएं और सहेजें।
  • किसी कार्यशील फ़ाइल को हटाने के साथ किसी भी ऑपरेशन को भ्रमित किए बिना स्टेज और अनस्टेज करें।
  • प्रतिबद्ध होने से पहले कार्यशील वृक्ष के साथ सूचकांक की तुलना करें।
  • एक उपयोगी सारांश लिखें और केवल तैयार स्नैपशॉट ही लिखें।
  • पहले कमिट की फ़ाइलें, पहचान और शेष कार्य परिवर्तन सत्यापित करें।

शुरू करने से पहले

Start where lesson 4 ends. The original gittree-features is an ordinary repository on unborn main, with no commits, project files or remotes. Its local identity is GitTree Demo / demo@example.com. Do not continue inside lesson 4's supplemental gittree-features-copy.

GitTree का निरीक्षण न्यूनतम Git 2.39.0 है। वीडियो को Git 2.52.0 और GitTree 2.0 के साथ Ubuntu 24.04 पर रिकॉर्ड किया गया था: दो फ़ाइलें, उनकी स्टेजिंग और पहला कमिट ऐप में ही बनाया गया था, और टर्मिनल चेक ऐप द्वारा बनाए गए या राज्य ए, बी और सी में प्रोजेक्ट की अलग-अलग प्रतियों के विरुद्ध चलाया गया था, इसलिए मूल को कभी भी दोबारा नहीं चलाया गया था। macOS या Windows पर कुछ भी नहीं चलाया गया, और Ubuntu ही एकमात्र Linux सिस्टम रिकॉर्ड किया गया है; कमांड-कुंजी और Windows कॉर्ड कीमैप स्रोत से आते हैं।

नेटिव गिट को स्थानीय प्रतिबद्धता के लिए किसी खाते की आवश्यकता नहीं है। GitTree में, साइन इन करें और निःशुल्क योजना इस पाठ को कवर करती है। किसी प्रदाता, प्रो/ट्रायल, एआई ड्राफ्टिंग, एपीआई कुंजी, सीआई रनर या क्लाउड वातावरण की आवश्यकता नहीं है। स्थानीय प्रतिबद्धता बनाने के लिए रिमोट न जोड़ें।

संकल्पना: सामग्री का चयन करें, फिर उन्हें रिकॉर्ड करें

एक प्रतिबद्धता "दृश्यमान हर चीज़ को सहेजना" नहीं है। इस पाठ में एक सामान्य प्रतिबद्धता index: पूर्ण चयनित स्नैपशॉट को रिकॉर्ड करती है। यह एक रूट कमिट बनाता है और उसमें मुख्य बिंदु बनाता है। यह कहीं भी धक्का नहीं देता.

संपादक में सहेजने से working tree अपडेट हो जाता है। स्टेजिंग चयनित कार्यशील फ़ाइल से अनुक्रमणिका को अद्यतन करती है। अनस्टेजिंग सूचकांक चयन को बदल देता है; यह खारिज नहीं है और हमारे अभ्यास में काम कर रही फ़ाइल को नहीं हटाता है। पहली प्रतिबद्धता से पहले पुनर्स्थापित करने के लिए कोई पूर्व प्रतिबद्ध संस्करण नहीं है, इसलिए एक अस्थिर नई फ़ाइल फिर से अनट्रैक हो जाती है।

एक तैयार संस्करण एक उपयोगी सादृश्य है: आप एक संस्करण तैयार करने के बाद अपने कामकाजी मसौदे को संशोधित कर सकते हैं, फिर नए मसौदे को शामिल किए बिना तैयार संस्करण को स्थानीय रूप से प्रकाशित कर सकते हैं। स्टेजिंग बाद के संपादनों की लाइव सदस्यता नहीं है। गिट का संदर्भ जोड़ें दस्तावेज़ जो चयन करते हैं; कमिट संदर्भ सामान्य इंडेक्स कमिट को अन्य मोड से अलग करता है।

हम no -a, स्पष्ट प्रतिबद्ध पथ तर्क, संशोधन, खाली प्रतिबद्धता या स्वचालित चरण-सभी का उपयोग करते हैं। सूचकांक संपूर्ण नेक्स्ट-ट्री विवरण है, न कि केवल बदले हुए नामों की सूची।

राज्यकार्यशील अनुक्रमणिका.htmlअनुक्रमणिका Index.htmlप्रमुख/मुख्यरिमोट
ए: प्रारंभिक फ़ाइलें सहेजी गईंएचटीएमएल-01अनुपस्थितअजन्माकोई नहीं
बी: दोनों फाइलें चरणबद्ध हैंएचटीएमएल-01एचटीएमएल-01अजन्माकोई नहीं
सी: स्टेजिंग के बाद सहायक लाइन संपादित की गईHTML-01-कार्यशीलएचटीएमएल-01अजन्माकोई नहीं
डी: साधारण प्रतिबद्धता सफल होती हैHTML-01-कार्यशीलएचटीएमएल-01पहले कमिट में HTML-01 शामिल हैकोई नहीं

README-01 भी मंचित और प्रतिबद्ध है। D के बाद, README साफ़ है; Index.html जानबूझकर केवल कार्यशील ट्री में संशोधित रहता है। ग्राफ़ में नई प्रतिबद्धता हो सकती है जबकि स्थिति साफ़ नहीं है।

पूर्ण परियोजना फ़ाइलें

UTF-8, LF और एक अंतिम न्यूलाइन का उपयोग करें। सहेजी गई फ़ाइलों में मार्कडाउन फ़ेंस शामिल न करें। अभी तक कोई package.json, CSS, JS या रननेबल नोड सुइट नहीं है; वे पाठ 6 में आते हैं।

README.md - README-01

फ़ाइल अंश · markdown
# GitTree Features

A fictional landing page used to learn Git and GitTree.

All people and addresses in this repository are fictional.
No form submits information to a server.

Index.html - HTML-01, स्टेजिंग से पहले

फ़ाइल अंश · html
<!doctype html>
<html lang="en">
<head>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <title>GitTree Features — course demo</title>
</head>
<body>
  <header class="site-header">
    <a href="#main">GitTree Features</a>
  </header>
  <main id="main">
    <section class="hero" aria-labelledby="hero-title">
      <p class="eyebrow">GitTree Learn demo project</p>
      <h1 id="hero-title">Understand every change.</h1>
      <p id="hero-copy">A clear view of Git history.</p>
    </section>
  </main>
  <footer><p>Built by a fictional team for GitTree Learn.</p></footer>
</body>
</html>

Index.html - HTML-01-वर्किंग, स्टेजिंग के बाद ही

सहेजी गई कार्यशील फ़ाइल को इस पूर्ण निकाय से बदलें after पिछला संस्करण सूचकांक में प्रवेश कर चुका है:

फ़ाइल अंश · html
<!doctype html>
<html lang="en">
<head>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <title>GitTree Features — course demo</title>
</head>
<body>
  <header class="site-header">
    <a href="#main">GitTree Features</a>
  </header>
  <main id="main">
    <section class="hero" aria-labelledby="hero-title">
      <p class="eyebrow">GitTree Learn demo project</p>
      <h1 id="hero-title">Understand every change.</h1>
      <p id="hero-copy">Choose one change, then check what Git saved.</p>
    </section>
  </main>
  <footer><p>Built by a fictional team for GitTree Learn.</p></footer>
</body>
</html>

एकमात्र इच्छित प्रतिस्थापन हीरो-कॉपी सपोर्टिंग लाइन है। मुख्य शीर्षक या कोई अन्य बाइट्स न बदलें.

GitTree में

1. दो प्रारंभिक फ़ाइलें बनाएं और सहेजें

  1. मूल भंडार के नाम और मुख्य संदर्भ की पुष्टि करें। Command Palette…, Command+Shift+P / Ctrl+Shift+P खोलें, New File… टाइप करें और उस सटीक कमांड (files.newFile) का चयन करें। बिना किसी फ़ोल्डर तर्क के, यह प्रोजेक्ट रूट पर प्रारंभ होता है।
  2. New File में, Path from the project folder को README.md पर सेट करें, फिर Create चुनें। फ़ाइल कार्यक्षेत्र में नई कार्यशील फ़ाइल खुलने की अपेक्षा करें। सृजन किसी मौजूदा पथ को अधिलेखित करने के बजाय उसे अस्वीकार कर देता है।
  3. संपादन योग्य सामग्री क्षेत्र पर ध्यान केंद्रित करें, संपूर्ण README-01 का मुख्य भाग चिपकाएँ, फिर Save चुनें। वैकल्पिक: Command+S / Ctrl+S जबकि कार्यशील संपादक का फोकस है। वास्तविक बचत सफलता के बाद Unsaved changes संकेतक के साफ़ होने की अपेक्षा करें।
  4. दोहराएँ New File… → पथ index.html → Create। संपूर्ण HTML-01 चिपकाएँ, बाद वाला कार्यशील संस्करण नहीं। सहेजें और सहेजे न गए संकेतक के साफ़ होने तक प्रतीक्षा करें।
  5. फ़ाइल टूलबार में Back to Graph या पैलेट कमांड Back to Graph (view.returnToGraph) चुनें। फिर पैलेट Show Working Changes (wip.show) का उपयोग करें। README.md और Index.html को Unstaged Files से कम होने की उम्मीद है, Staged Files से कम कुछ भी नहीं।
  6. Notice Stage Changes to Commit if it is the primary composer button while nothing is staged. Its source-defined action stages all working changes; it does not already mean a successful commit. We use deliberate per-file staging instead.

संपादक बफ़र को सहेजना स्टेजिंग नहीं है। किसी फ़ाइल को टैब में देखना इस बात का प्रमाण नहीं है कि उसका नवीनतम बफ़र डिस्क तक पहुँच गया है।

2. मंच, मंच को सुरक्षित रूप से हटाएँ, फिर दोनों फ़ाइलें तैयार करें

  1. Unstaged Files के अंतर्गत README.md के लिए, इसकी Stage File पंक्ति क्रिया का उपयोग करें। कीबोर्ड विकल्प: केवल उस पंक्ति का चयन करें, अनस्टेज्ड सूची में फ़ोकस रखें और S दबाएँ; पैलेट कमांड Stage (wip.stageSelected) है। अपेक्षा करें कि README.md Staged Files से कम हो।
  2. चरणबद्ध फ़ाइलों के अंतर्गत उस README पंक्ति के लिए, Unstage File चुनें। कीबोर्ड विकल्प: केवल इसे चुनें, फ़ोकस को चरणबद्ध सूची में रखें और U दबाएँ; पैलेट कमांड Unstage (wip.unstageSelected)। उम्मीद है कि README.md अनस्टेज्ड फाइलों पर वापस आ जाएगा। इसकी कार्यशील सामग्री बरकरार रहती है।
  3. फिर से README.md को चरणबद्ध करें, फिर अपनी Stage File क्रिया के साथ Index.html को चरणबद्ध करें। सटीक रूप से two चरणबद्ध फ़ाइल पथ की अपेक्षा करें।
  4. इसके पूर्ण जोड़ का निरीक्षण करने के लिए प्रत्येक चरणबद्ध पंक्ति पर क्लिक करें। Index.html में अभी भी A clear view of Git history. होना चाहिए केवल फ़ाइल संख्या से सामग्री का अनुमान न लगाएं।

एकल-अक्षर शॉर्टकट को उनकी सूचियों के दायरे में रखा गया है, किसी संपादक या सारांश में एस/यू टाइप करने का अनुरोध नहीं। कोई ड्रैग-एंड-ड्रॉप स्टेजिंग व्यवहार नहीं माना जाता है।

3. बाद के संपादन को स्टेजिंग के बिना सहेजें

  1. Show Files (files.focus), Command+Shift+E / Ctrl+Shift+E खोलें। फ़ाइल ट्री में index.html फ़ोकस करें और इसकी कार्यशील प्रतिलिपि खोलने के लिए Enter दबाएँ। वैकल्पिक: इसके मौजूदा सहेजे गए वर्किंग-फ़ाइल टैब पर क्लिक करें। संपादन योग्य File दृश्य में काम करें, ऐतिहासिक बूँद या चरणबद्ध अंतर में नहीं।
  2. इसकी संपूर्ण सामग्री को उपरोक्त HTML-01-WORKING से बदलें। Save या Command/Ctrl+S के माध्यम से सहेजें। वास्तविक डिस्क सेव सफलता की प्रतीक्षा करें।
  3. Back to Graph से होकर वापस लौटें, फिर Show Working Changes तक। Index.html अब both सूचियों में दिखाई देता है। इसकी अनस्टेज्ड फ़ाइलें पंक्ति पर क्लिक करें: अंतर बाद में सहायक-पंक्ति प्रतिस्थापन दिखाता है।
  4. इसकी चरणबद्ध फ़ाइलें पंक्ति पर क्लिक करें: प्रथम-प्रतिबद्ध जोड़ में अभी भी पहले वाली सहायक पंक्ति शामिल है। उस नए कामकाजी संपादन के लिए स्टेज फ़ाइल को not चुनें या अभी Stage All Changes चुनें। इससे आप जिस प्रतिबद्धता की तैयारी कर रहे हैं वह बदल जाएगी।

4. संदेश लिखें और अनुक्रमणिका प्रतिबद्ध करें

  1. कंपोज़र Summary फ़ील्ड (प्लेसहोल्डर Commit summary) में, बिल्कुल feat: add the GitTree Features hero दर्ज करें। Description खाली छोड़ें. यह सारांश बताता है कि क्या परिवर्तन हुआ; यह एक तैयार साइट या पासिंग टेस्ट सूट का वादा नहीं करता है।
  2. Amend Previous Commit बंद रखें. Commit Options का विस्तार करें और सत्यापित करें कि Skip Hooks (--no-verify), Add Signed-off-by, Different Author, Push After Commit और Allow Empty Commit सभी बंद हैं। सह-लेखकों को न जोड़ें या एआई प्रारूपण का आह्वान न करें।
  3. Review the two staged paths and the earlier prepared hero line one last time. Choose Commit Changes to 2 Files. Keyboard alternative: Command+Enter / Ctrl+Enter, routed through palette command Commit (commit.submit), only after confirming the active repository and pending state.
  4. Git के वास्तविक परिणाम की प्रतीक्षा करें। एक सफल परिणाम एक मापा SHA का संदर्भ देता है; आरेख से गढ़े गए SHA की नकल न करें। मुख्य पर प्रथम ग्राफ़ प्रतिबद्धता की अपेक्षा करें। इस अपरिवर्तित-प्रस्तुति मामले में संदेश ड्राफ्ट सफलता के बाद साफ़ हो जाता है।
  5. Inspect the post-commit lists: nothing remains staged; index.html remains under Unstaged Files with the later line. Do not click Stage Changes to Commit to “finish” this intentional result.

प्रदर्शित फ़ाइल संख्या दो चरणबद्ध पथ है, न कि दो सूचियों में तीन पंक्तियाँ। पुश आफ्टर कमिट एक अलग अनुवर्ती विकल्प है; यह बंद है और कोई रिमोट नहीं है.

टर्मिनल में

प्लेसहोल्डर को अपने आरक्षित वास्तविक माता-पिता से प्रतिस्थापित करते हुए, <course-parent>/gittree-features में चलाएँ। यदि आपने पहले ही कोई ऐप म्यूटेशन कर लिया है, तो inspect its resulting state; समतुल्य उत्परिवर्तन को दोबारा न चलाएं और गलती से चेकपॉइंट से आगे न बढ़ें।

स्टेजिंग से पहले फ़ाइलें सहेजी गईं

Command · bash
git status --short

अवलोकन किया गया:

आउटपुट
?? README.md
?? index.html

जानबूझकर बिना किसी चरणबद्ध सामग्री के सामान्य प्रतिबद्धता का प्रयास करना:

Command · bash
git commit --quiet -m "feat: add the GitTree Features hero"

निकास 1 के साथ स्टडआउट देखा गया, कोई stderr नहीं:

आउटपुट
On branch main

Initial commit

Untracked files:
  (use "git add <file>..." to include in what will be committed)
	README.md
	index.html

nothing added to commit but untracked files present (use "git add" to track)

कोई प्रतिबद्धता नहीं बनाई गई थी. यह नकारात्मक मामला बताता है कि फ़ाइलों का चयन क्यों मायने रखता है; इसे बायपास करने के लिए खाली कमिट का उपयोग न करें।

मूल चरण/अचरणीय समकक्ष

समान सहेजी गई फ़ाइल स्थिति के एक अलग रीप्ले में:

Command · bash
git add -- README.md
git rm --cached --quiet -- README.md

दोनों आदेश मौन रूप से सफल रहे। --cached आवश्यक है: यह सूचकांक से नई प्रविष्टि, not the working file को हटा देता है। जाँचे गए README बाइट्स अपरिवर्तित रहे और संक्षिप्त स्थिति में फिर से दो अनट्रैक फ़ाइलें दिखाई दीं। यह विशेष रूप से एक अप्रतिबद्ध नई-फ़ाइल उदाहरण है; ट्रैक की गई प्रोजेक्ट फ़ाइलों को हटाने के लिए इसे सामान्यीकृत न करें।

दोनों तैयार करें:

Command · bash
git add -- README.md index.html
git status --short
git diff --cached --stat

देखी गई स्थिति:

आउटपुट
A  README.md
A  index.html

अवलोकन किया गया सारांश:

आउटपुट
 README.md  |  6 ++++++
 index.html | 21 +++++++++++++++++++++
 2 files changed, 27 insertions(+)

सांख्यिकी सारांश पंक्तियों को गिनता है, शुद्धता को नहीं। प्रतिबद्ध होने से पहले वास्तविक चरणबद्ध सामग्री की समीक्षा करें।

बाद में कार्यशील संपादन को सहेजने के बाद

Command · bash
git status --short
git diff -- index.html

देखी गई स्थिति:

आउटपुट
A  README.md
AM index.html

काम करने का अंतर देखा गया:

आउटपुट
diff --git a/index.html b/index.html
index 5470374..27f8718 100644
--- a/index.html
+++ b/index.html
@@ -13,7 +13,7 @@
     <section class="hero" aria-labelledby="hero-title">
       <p class="eyebrow">GitTree Learn demo project</p>
       <h1 id="hero-title">Understand every change.</h1>
-      <p id="hero-copy">A clear view of Git history.</p>
+      <p id="hero-copy">Choose one change, then check what Git saved.</p>
     </section>
   </main>
   <footer><p>Built by a fictional team for GitTree Learn.</p></footer>

वे सटीक एलएफ सामग्री से फ़ाइल-ब्लॉब संक्षिप्तीकरण मापे जाते हैं, काल्पनिक प्रतिबद्ध एसएचए नहीं। स्वरूपण कॉन्फ़िगरेशन के साथ लघु-स्थिति रिक्ति और संक्षिप्त नाम की लंबाई भिन्न हो सकती है; दोनों तुलनाएँ समान रहनी चाहिए।

सटीक तैयार फ़ाइल पढ़ें:

Command · bash
git show :index.html

पूर्ण प्रेक्षित आउटपुट:

आउटपुट
<!doctype html>
<html lang="en">
<head>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <title>GitTree Features — course demo</title>
</head>
<body>
  <header class="site-header">
    <a href="#main">GitTree Features</a>
  </header>
  <main id="main">
    <section class="hero" aria-labelledby="hero-title">
      <p class="eyebrow">GitTree Learn demo project</p>
      <h1 id="hero-title">Understand every change.</h1>
      <p id="hero-copy">A clear view of Git history.</p>
    </section>
  </main>
  <footer><p>Built by a fictional team for GitTree Learn.</p></footer>
</body>
</html>

प्रतिबद्ध करें और सत्यापित करें

केवल मूल रीप्ले में, बाद के संपादन को पुनः मंचित किए बिना:

Command · bash
git commit --quiet -m "feat: add the GitTree Features hero"

देखा गया: कोई आउटपुट नहीं, निकास 0। इस फिक्स्चर में कोई सक्रिय हुक/हस्ताक्षर नहीं था और केवल काल्पनिक स्थानीय पहचान थी। किसी ट्यूटोरियल की सफलता के लिए किसी वास्तविक प्रोजेक्ट के हुक/हस्ताक्षर को अक्षम न करें।

मूल या वास्तविक ऐप परिणाम का निरीक्षण करें:

Command · bash
git log -1 --format="%s%n%an <%ae>%n%cn <%ce>"
git rev-list --count HEAD
git ls-tree --name-only HEAD
git status --short
git diff --cached
git remote

पहले चार आदेशों के क्रम में देखे गए आउटपुट:

आउटपुट
feat: add the GitTree Features hero
GitTree Demo <demo@example.com>
GitTree Demo <demo@example.com>
1
README.md
index.html
 M index.html

अंतिम दो कमांडों में से प्रत्येक ने no output and exited 0 उत्पन्न किया। कामकाजी संपादन बाकी है; कोई रिमोट मौजूद नहीं है. यह एक स्थानीय प्रथम प्रतिबद्धता है, अपलोड नहीं।

स्वतंत्र सामग्री पुष्टिकरण के लिए, git show HEAD:index.html ने तैयार आउटपुट के रूप में ऊपर प्रदर्शित पूर्ण HTML-01 बॉडी लौटा दी; git diff -- index.html ने अभी भी सटीक सपोर्टिंग-लाइन प्रतिस्थापन दिखाया है। सूचकांक दोनों पथों के लिए HEAD से मेल खाता है। नई फ़ाइल खोई नहीं थी.

नतीजा

इस पाठ के अंत में, घोषित सारांश और काल्पनिक लेखक/कमिटर के साथ बिल्कुल एक प्रतिबद्धता के मुख्य बिंदु। हेड और इंडेक्स में README-01 और HTML-01 शामिल हैं; वर्किंग इंडेक्स.एचटीएमएल में HTML-01-वर्किंग शामिल है। Index.html के लिए स्टेटस में M के बाद अग्रणी स्थान है। कोई रिमोट नहीं है.

इस चेकपॉइंट को पाठ 6 में सौंपने से पहले जानबूझकर किए गए संपादन को "साफ" न करें, दूसरा कमिट न करें, रूट में संशोधन न करें या वैकल्पिक अभ्यास नोटबुक न जोड़ें। कोई भी बाद की क्लीन-निरंतरता नोटबुक एक अलग से संरक्षित संस्करण में होती है, न कि इस दो-फ़ाइल वाली पहली कमिट में।

सामान्य गलतियाँ

  • Saving without staging: डिस्क बाइट्स और चयनित कमिट बाइट्स अलग-अलग हैं।
  • Staging again after the deliberate edit: वैध Git व्यवहार, लेकिन नई लाइन कमिट में प्रवेश करेगी, जिससे इस पाठ का परिणाम बदल जाएगा।
  • Counting all visible rows as staged files: एक पथ में चरणबद्ध और अस्थिर तुलनाएं हो सकती हैं।
  • Using Stage All Changes as a final cleanup: यह जानबूझकर छोड़े गए संपादन का चयन करेगा।
  • Enabling amend or automatic push: वे अलग-अलग दायरे वाले अलग-अलग ऑपरेशन हैं।
  • Calling unstage Discard: अनस्टेज सूचकांक चयन को संपादित करता है; त्यागें कार्यशील सामग्री को हटा सकता है।

अगर कुछ गलत होता है

यदि नई फ़ाइल किसी मौजूदा पथ को अस्वीकार करती है, तो उसे रद्द करें और उसका निरीक्षण करें। अज्ञात सामग्री को अधिलेखित न करें. यदि संपादक रिपोर्ट करता है कि डिस्क बदल गई है, तो दोनों संस्करणों को सुरक्षित रखें और वास्तविक स्थिति के अनुसार इसके Review Changes, Reload from Disk या Keep Editing नियंत्रणों का उपयोग करें; आँख मूँद कर Overwrite with My Edits का चयन न करें।

यदि कमिट अवरुद्ध है क्योंकि कुछ भी चरणबद्ध नहीं है, तो इच्छित फ़ाइलें चुनें और उनकी समीक्षा करें। यदि पहचान गायब है, तो पाठ 4 से स्थानीय सेटिंग्स का निरीक्षण करें; एक असफल प्रयास एक स्पष्ट रिपॉजिटरी लक्ष्य के साथ Set up your Git identity की पेशकश कर सकता है। यह वैश्विक पहचान लिखने को उचित नहीं ठहराता है, और पहचान को सहेजने का मतलब यह नहीं है कि प्रतिबद्धता स्वचालित रूप से सफल हो गई है।

यदि Git किसी प्रतिबद्धता से इनकार करता है या हुक विफल हो जाता है, तो उपलब्ध होने पर Hook Output पढ़ें। स्रोत-परिभाषित इनकार पाठ है The commit was not created. Your message and staged changes are unchanged. बताए गए कारण को ठीक करें और पुनः प्रयास करने से पहले सूचकांक की दोबारा जाँच करें। केवल ग्रीन टेक बनाने के लिए स्किप हुक्स पर टिक न लगाएं। दोबारा सबमिट करने से पहले अनिश्चित परिणामों के बाद वास्तविक हेड की दोबारा जांच करें।

यदि कोई कमिट अप्रत्याशित सामग्री के साथ बनाई गई थी, तो रोकें और उसके वास्तविक SHA, कार्यशील/अनुक्रमणिका स्थिति और संदेश को रिकॉर्ड करें। तुरंत संशोधन, रीसेट या त्यागें पर क्लिक न करें। अब कॉन्फ़िगरेशन बदलने से उस कमिट में पहले से संग्रहीत मेटाडेटा नहीं बदलेगा।

अपनी समझ की जाँच करें

प्रत्येक प्रश्न का उत्तर दें, फिर क्यों पढ़ें। "आवश्यक" चिह्नित प्रश्न पाठ को पूरा करने में गिने जाते हैं।

  1. प्रश्न 1 में से 6

    आप Index.html बनाते हैं और इसे स्टेज किए बिना एडिटर में सेव पूरा करते हैं। बचत ने क्या स्थापित किया?

    एक उत्तर चुनें.

  2. प्रश्न 2 में से 6

    आप नए README को स्टेज करते हैं, फिर पहले कमिट से पहले इसे अनस्टेज करते हैं। कौन से कथन सही हैं?

    लागू होने वाला प्रत्येक उत्तर चुनें.

  3. प्रश्न 3 में से 6
    आवश्यक

    दोनों फ़ाइलों को चरणबद्ध किया जाता है, फिर HTML-01-WORKING को पुन: चरणबद्ध किए बिना सहेजा जाता है। सामान्य प्रतिबद्धता के बाद, कौन सा परिणाम सही है?

    एक उत्तर चुनें.

  4. प्रश्न 4 में से 6
    आवश्यक

    एक अलग रीप्ले में, नए संस्करण को सहेजने के बाद Index.html को फिर से स्टेज करें, फिर दोनों फाइलों को कमिट करें। आप क्या भविष्यवाणी करते हैं?

    एक उत्तर चुनें.

  5. प्रश्न 5 में से 6

    दो फ़ाइलें अस्थिर हैं और कुछ भी चरणबद्ध नहीं है। बटन कहता है प्रतिबद्धता के लिए चरण परिवर्तन। इससे क्या होता है?

    एक उत्तर चुनें.

  6. प्रश्न 6 में से 6
    आवश्यक

    नामित मूल आदेशों के साथ पूर्ण मूल का निरीक्षण करें, या यदि उपकरण अनुपलब्ध हैं तो उनकी पूर्ण वास्तविक प्रतिलेख पढ़ें। कौन से अवलोकन संयुक्त रूप से परिणाम सिद्ध करते हैं?

    लागू होने वाला प्रत्येक उत्तर चुनें.

6 में से 0 सही

पाठ को पूरा करने के लिए आवश्यक प्रश्नों के सही उत्तर दें।

इस ब्राउज़र में चेक किया गया.

अभ्यास करें

अपने पूर्ण किए गए मूल लेख पर लेख की स्थिति/सामग्री प्रश्नों का उपयोग करें। स्पष्ट करें कि वास्तव में एक प्रतिबद्धता और शेष कार्यशील संशोधन दोनों सही क्यों हैं। तैयार फ़ाइल को पढ़ने से पहले अपनी भविष्यवाणी रिकॉर्ड करें।

separate disposable replay only के लिए, प्रतिबद्ध होने से पहले बाद में संपादित Index.html को चरणबद्ध करें। भविष्यवाणी करें कि नई लाइन रिकॉर्ड हो गई है और स्थिति साफ़ हो गई है। इस विकल्प को निष्पादित करने के लिए मूल को न बदलें। जब अभी तक कोई ब्राउज़र अभ्यास मौजूद नहीं है, तो दो प्रतिलेखों का उपयोग करें और विभिन्न परिणामों की व्याख्या करें।

आपकी अपनी पुष्टि: साइट आपका कंप्यूटर नहीं देख सकती।

पाठ को पूरा करने के लिए आवश्यक प्रश्नों के सही उत्तर दें और व्यावहारिक अभ्यास की पुष्टि करें।

पुनर्कथन

  • सहेजने से कार्यशील फ़ाइल बदल जाती है; स्टेजिंग अगले सामान्य कमिट के लिए सामग्री का चयन करती है।
  • पहला कमिट इंडेक्स को रिकॉर्ड करता है और बिना किसी दबाव के लोकल मेन को आगे बढ़ाता है।
  • सामग्री, पहचान और बचे हुए कार्य को अलग से सत्यापित करें; गंदा परिणाम जानबूझकर किया जा सकता है।

शब्दावली शब्द प्रस्तुत किये गये

स्टेज - تجهيز; अस्थिर - إلغاء التجهيز; प्रतिबद्ध - إيداع; सूचकांक - الفهرس; काम करने वाला पेड़ - مجلد العمل; अनट्रैक्ड - غير مُتتبَّع; लेखक - المؤلف; कमिटर - المُودِع. त्यागें का अर्थ है डिस्कार्ड का मतलब है और यह अनस्टेज के समान नहीं है।

वीडियो प्रतिलेख

वीडियो का वर्णन, संकेत दर संकेत।

प्रतिलिपि दिखाएँ
  1. नायक बनाएँ, एक संस्करण तैयार करें, और साबित करें कि आपकी पहली प्रतिबद्धता ने क्या बचाया।
  2. मूल रिपॉजिटरी से प्रारंभ करें L004, इसका पूरक क्लोन नहीं है।
  3. सहेजना, मंचन करना और प्रतिबद्ध करना विभिन्न स्नैपशॉट बदलें.
  4. के माध्यम से पहली फ़ाइल बनाएँ GitTree की नई फ़ाइल कमांड।
  5. इसे README dot em नाम दें डी, प्रोजेक्ट रूट पर।
  6. संपूर्ण काल्पनिक-परियोजना सहेजें README, मार्कडाउन बाड़ नहीं।
  7. इंडेक्स डॉट एच टी एम एल बनाएं उसी भंडार में.
  8. मूल नायक को बचाएं इस सहायक लाइन के साथ.
  9. देखने के लिए कार्यशील परिवर्तन खोलें दोनों नई, ट्रैक न की गई फ़ाइलें।
  10. बिना किसी मंचन के, यह बटन सभी परिवर्तनों को पहले चरणबद्ध करता है।
  11. टर्मिनल दो की पुष्टि करता है अनट्रैक की गई फ़ाइलें, दो कमिट नहीं।
  12. एक सामान्य प्रतिबद्धता इन्हें रिकॉर्ड नहीं कर सकती फ़ाइलों की सामग्री का चयन करने से पहले।
  13. पहले केवल README को स्टेज करें।
  14. इसे फिर से अनस्टेज करें. यह सहेजा गया है कामकाजी पाठ बरकरार रहता है.
  15. अनस्टेज चयन को बदल देता है; त्यागें कार्यशील सामग्री को हटा सकता है।
  16. अब दोनों इच्छित फ़ाइलों को एक-एक करके चरणबद्ध करें।
  17. S और U शॉर्टकट उनमें काम करते हैं केंद्रित सूचियाँ, पाठ फ़ील्ड के अंदर नहीं।
  18. मंचित सामग्री की समीक्षा करें, सिर्फ फ़ाइल गिनती नहीं.
  19. सारांश पंक्तियों को गिनता है; यह होता है यह साबित न करें कि वे पंक्तियाँ सही हैं।
  20. तैयार संस्करण है अभी भी मूल नायक.
  21. कार्यशील फ़ाइल को पुनः खोलें, मंचित तुलना नहीं.
  22. बाद वाले सपोर्ट को सेव करें इसे स्टेजिंग किए बिना लाइन।
  23. अब वही रास्ता दिखता है दोनों तुलनाओं में.
  24. अस्थिर तुलना से पता चलता है बाद में सूचकांक के विरुद्ध संपादन किया गया।
  25. चरणबद्ध जोड़ अभी भी इसमें पिछली पंक्ति शामिल है.
  26. सीधे सूचकांक पढ़ें जो तैयार किया गया है उसे साबित करने के लिए।
  27. बिना मंचन फिर से, जो समर्थन पंक्ति में पहली प्रतिबद्धता शामिल होगी?
  28. एक सारांश लिखें जो वर्णन करता हो वह नायक जिसे आपने वास्तव में जोड़ा है।
  29. संशोधन एवं सभी वैकल्पिक व्यवहार रखें इस पहली स्थानीय प्रतिबद्धता के लिए रवाना।
  30. दो चरणबद्ध पथ प्रतिबद्ध करें, प्रत्येक दृश्यमान पंक्ति नहीं.
  31. पहले सृजन की पुष्टि के लिए Git की प्रतीक्षा करें ऑपरेशन को पूर्ण मानना।
  32. मेन अब अपनी पहली स्थानीय प्रतिबद्धता की ओर इशारा करता है।
  33. बाद का कार्यशील संपादन शेष है जानबूझकर प्रतिबद्धता के बाहर.
  34. विषय को सत्यापित करें, लेखक और स्वतंत्र रूप से कमिटर।
  35. इसमें एक कमिट शामिल है बिल्कुल ये दो रास्ते.
  36. एक खाली कैश्ड अंतर सह-अस्तित्व में हो सकता है कार्यशील संशोधन के साथ.
  37. रिकॉर्ड की गई फ़ाइल पहले की है; द कार्यशील फ़ाइल में अभी भी नई लाइन है।
  38. कुछ भी अपलोड नहीं किया गया. यह रिपॉजिटरी में अभी भी कोई रिमोट नहीं है।
  39. यदि आप बाद वाले संपादन को पहले चरणबद्ध करते हैं, तैयार संस्करण बदल जाता है.
  40. वह वैकल्पिक प्रतिबद्धता रिकॉर्ड करती है नई लाइन और एक साफ़ परिणाम छोड़ता है।
  41. कमिट शॉर्टकट एक विकल्प है समर्पण, दूसरा अंतिम चरण नहीं।
  42. यदि Git मना कर देता है, तो उसके आउटपुट का निरीक्षण करें और पुनः प्रयास करने से पहले चरणबद्ध सामग्री।
  43. शेष संपादन को न छोड़ें या मान लें कि पूर्ववत प्रत्येक बफ़र को कवर करता है।
  44. आपका चेकप्वाइंट एक सटीक प्रतिबद्धता है प्लस एक जानबूझकर कामकाजी संपादन।
  45. रिकॉर्ड की गई सामग्री, पहचान की जाँच करें और बचा हुआ काम अलग से.
  46. सहेजा जा रहा है कार्यशील फ़ाइल लिखता है; मंचन का चयन; रिकॉर्ड बनाना।
  47. बाद वाला संपादन रखें. अगला, निरीक्षण करें अंतर करें और प्रोजेक्ट के टूल जोड़ें।
  48. इस सत्यापित स्थिति से जारी रखें, अनुमानित साफ़ फ़ोल्डर से नहीं.