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

पाठ 24 · पुनर्प्राप्ति

किसी सक्रिय ऑपरेशन को जारी रखें, छोड़ें या निरस्त करें

जब कोई मर्ज या रिबेस रुक जाता है, तो आपके पास तीन रास्ते होते हैं: जारी रखें, छोड़ें या निरस्त करें। जानें कि कौन सा फिट बैठता है, प्रत्येक क्या फेंक देता है, और बाद में रिपॉजिटरी की जांच कैसे करें।

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

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

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

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

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

  • किसी भी चीज़ को छूने से पहले बताएं कि कौन सा ऑपरेशन सक्रिय है।
  • प्रत्येक विवाद के सुलझने और चिह्नित होने के बाद ही जारी रखें।
  • बताएं कि स्किप क्या छोड़ता है और कब यह गलत टूल है।
  • किसी ऑपरेशन को निरस्त करें और जांचें कि आप शुरुआत में वापस आ गए हैं।

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

आप पाठ 23 से विचलन का उपयोग करते हैं: conflict/sara (सारा का शीर्षक "विश्वास के साथ परिवर्तनों की समीक्षा करें।") और conflict/omar (उमर का शीर्षक "प्रत्येक सहेजे गए परिवर्तन को समझें।"), दोनों कमिट एम से। इसकी तीन साफ प्रतियां बनाएं, जिनका नाम gittree-continue, gittree-abort और gittree-skip है। प्रत्येक में, conflict/sara चेक आउट हो गया है और कुछ भी नहीं चल रहा है। आप तीनों में एक ही ऑपरेशन बंद कर देंगे और प्रत्येक को अलग-अलग तरीके से छोड़ देंगे।

Everything is local and on the Free plan (GitTree asks you to sign in): no hosting account, no provider, no internet. Every identity is fictional (example.com). Never run this lesson in a real project.

परिवर्तन GitTree या मूल Git कमांड के साथ करें, दोनों एक ही प्रतिलिपि में नहीं। परिणाम पढ़ना हमेशा सुरक्षित होता है. मेनू लेबल 2.0 के स्वयं के स्ट्रिंग्स से आते हैं और मूल कमांड डिस्पोजेबल प्रतियों में Git 2.43 के साथ चलाए गए थे। GitTree चरण macOS, Windows या Linux पर नहीं चलाए गए।

अवधारणा और राज्य प्रभाव

रुका हुआ ऑपरेशन अपनी ही एक स्थिति है। जब तक यह समाप्त नहीं हो जाता, रिपॉजिटरी को याद रहता है कि वह क्या कर रहा था, और आपको इसके ऊपर कोई अन्य मर्ज या रीबेस शुरू नहीं करना चाहिए। सबसे पहले पता लगाएं कि सक्रिय क्या है. GitTree का बैनर इसे स्पष्ट रूप से कहता है: "विलय ... को ... में", या "पुन: आधार ... पर ..." (चरण संख्या के साथ जब कई हों), और बचे हुए संघर्षों की संख्या। टर्मिनल में, git status "आपके पास अनमर्ज्ड पथ हैं" और मर्ज के लिए एक संकेत, या "इंटरैक्टिव रिबेस प्रगति पर है; पर ..." रिबेस के लिए शुरू होता है, और फिर उन आदेशों को सूचीबद्ध करता है जिनका आप उपयोग कर सकते हैं।

एक बार प्रत्येक विवाद का समाधान हो जाने और उसके परिणाम सामने आने के बाद Continue जारी रहता है। यह मूल मर्ज या रिबेस का पुनः प्रयास नहीं है: यह मर्ज कमिट को पूरा करता है, या रिबेस को उसके अगले कमिट पर ले जाता है।

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

Abort वहां वापस जाता है जहां से ऑपरेशन शुरू हुआ था। अब तक आपने जो भी संकल्प किया था, वह छूट गया है। GitTree सबसे पहले जो ड्रॉप करता है उसका एक पुनर्प्राप्ति स्नैपशॉट सहेजता है, और रिपॉजिटरी उसी सटीक कमिट, इंडेक्स और फ़ाइलों पर वापस लौटता है जो उसके पास पहले थी। जब आप निश्चित नहीं होते कि आप क्या कर रहे हैं तो यह एक रास्ता है।

विकल्पनतीजाइसकी कीमत क्या है
जारी रखेंमर्ज कमिट किया गया, या अगला कमिट दोबारा चलाया गयाकुछ नहीं, एक बार सब कुछ सुलझ जाए
छोड़ेंवर्तमान प्रतिबद्धता का परिवर्तन छोड़ दिया गया हैवह परिवर्तन, जब तक कि आप उसे दोबारा न पा लें
गर्भपातभंडार प्रारंभ में वापस आ गया हैऑपरेशन के दौरान किया गया कार्य

सटीक प्रोजेक्ट स्थिति तैयार करें

सारा और उमर की शाखाएं एक बार बनाएं, फिर तीन प्रतियां बनाएं। प्रोजेक्ट की एक अलग सामान्य प्रति से प्रारंभ करें क्योंकि पाठ 18 ने इसे छोड़ दिया है, और अपने मूल gittree-features को अछूता छोड़ दें। पृष्ठ संस्करण: मर्ज किया गया साझा आधार है, SARA और OMAR प्रतिस्पर्धी संस्करण हैं और RESOLVED वह परिणाम है जिसे आप जारी प्रतिलिपि में सहेजते हैं।

पूर्ण फ़ाइल इनपुट

केवल नीचे नामित चरण पर ही सहेजें। ये अंतिम नई लाइन के साथ पूर्ण UTF-8/LF निकाय हैं; कभी भी मार्कडाउन बाड़ चिपकाएँ नहीं। अपरिवर्तित चलने योग्य फ़ाइलें नामित इनपुट प्राप्त करती हैं। अलग-अलग संस्करणों में मूल को अधिलेखित नहीं किया जाना चाहिए।

Index.html - मर्ज किया गया

फ़ाइल अंश · 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>
  <link rel="stylesheet" href="styles.css">
</head>
<body>
  <header class="site-header">
    <a href="#main">GitTree Features</a>
  </header>
  <main id="main" tabindex="-1">
    <section class="hero" aria-labelledby="hero-title">
      <p class="eyebrow">GitTree Learn demo project</p>
      <h1 id="hero-title">See your work clearly.</h1>
      <p id="hero-copy">Choose one change, then check what Git saved.</p>
    </section>
    <section class="features" aria-labelledby="features-title">
      <h2 id="features-title">Follow your work</h2>
      <div class="cards">
        <article class="feature-card">
          <h3>History</h3>
          <p>Read commits and branches together.</p>
        </article>
        <article class="feature-card">
          <h3>Changes</h3>
          <p>Review the exact content selected for a commit.</p>
        </article>
        <article class="feature-card">
          <h3>Recovery</h3>
          <p>Inspect the scope of a recovery point before using it.</p>
        </article>
      </div>
    </section>
    <section aria-labelledby="plans-title">
      <h2 id="plans-title">Choose the workflow you need</h2>
      <div class="cards">
        <article class="feature-card">
          <h3>Local Git</h3>
          <p>Local Git workflows work without signing in.</p>
        </article>
        <article class="feature-card">
          <h3>Connected workflows</h3>
          <p>Provider integrations and Nour require Pro or an applicable trial.</p>
        </article>
      </div>
    </section>
  </main>
  <footer><p>Built by a fictional team for GitTree Learn. Review one change at a time.</p></footer>
  <script type="module" src="site.js"></script>
</body>
</html>

Index.html - सारा

फ़ाइल अंश · 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>
  <link rel="stylesheet" href="styles.css">
</head>
<body>
  <header class="site-header">
    <a href="#main">GitTree Features</a>
  </header>
  <main id="main" tabindex="-1">
    <section class="hero" aria-labelledby="hero-title">
      <p class="eyebrow">GitTree Learn demo project</p>
      <h1 id="hero-title">Review changes with confidence.</h1>
      <p id="hero-copy">Choose one change, then check what Git saved.</p>
    </section>
    <section class="features" aria-labelledby="features-title">
      <h2 id="features-title">Follow your work</h2>
      <div class="cards">
        <article class="feature-card">
          <h3>History</h3>
          <p>Read commits and branches together.</p>
        </article>
        <article class="feature-card">
          <h3>Changes</h3>
          <p>Review the exact content selected for a commit.</p>
        </article>
        <article class="feature-card">
          <h3>Recovery</h3>
          <p>Inspect the scope of a recovery point before using it.</p>
        </article>
      </div>
    </section>
    <section aria-labelledby="plans-title">
      <h2 id="plans-title">Choose the workflow you need</h2>
      <div class="cards">
        <article class="feature-card">
          <h3>Local Git</h3>
          <p>Local Git workflows work without signing in.</p>
        </article>
        <article class="feature-card">
          <h3>Connected workflows</h3>
          <p>Provider integrations and Nour require Pro or an applicable trial.</p>
        </article>
      </div>
    </section>
  </main>
  <footer><p>Built by a fictional team for GitTree Learn. Review one change at a time.</p></footer>
  <script type="module" src="site.js"></script>
</body>
</html>

Index.html - उमर

फ़ाइल अंश · 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>
  <link rel="stylesheet" href="styles.css">
</head>
<body>
  <header class="site-header">
    <a href="#main">GitTree Features</a>
  </header>
  <main id="main" tabindex="-1">
    <section class="hero" aria-labelledby="hero-title">
      <p class="eyebrow">GitTree Learn demo project</p>
      <h1 id="hero-title">Understand each saved change.</h1>
      <p id="hero-copy">Choose one change, then check what Git saved.</p>
    </section>
    <section class="features" aria-labelledby="features-title">
      <h2 id="features-title">Follow your work</h2>
      <div class="cards">
        <article class="feature-card">
          <h3>History</h3>
          <p>Read commits and branches together.</p>
        </article>
        <article class="feature-card">
          <h3>Changes</h3>
          <p>Review the exact content selected for a commit.</p>
        </article>
        <article class="feature-card">
          <h3>Recovery</h3>
          <p>Inspect the scope of a recovery point before using it.</p>
        </article>
      </div>
    </section>
    <section aria-labelledby="plans-title">
      <h2 id="plans-title">Choose the workflow you need</h2>
      <div class="cards">
        <article class="feature-card">
          <h3>Local Git</h3>
          <p>Local Git workflows work without signing in.</p>
        </article>
        <article class="feature-card">
          <h3>Connected workflows</h3>
          <p>Provider integrations and Nour require Pro or an applicable trial.</p>
        </article>
      </div>
    </section>
  </main>
  <footer><p>Built by a fictional team for GitTree Learn. Review one change at a time.</p></footer>
  <script type="module" src="site.js"></script>
</body>
</html>

Index.html - समाधान किया गया

फ़ाइल अंश · 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>
  <link rel="stylesheet" href="styles.css">
</head>
<body>
  <header class="site-header">
    <a href="#main">GitTree Features</a>
  </header>
  <main id="main" tabindex="-1">
    <section class="hero" aria-labelledby="hero-title">
      <p class="eyebrow">GitTree Learn demo project</p>
      <h1 id="hero-title">Review each change with confidence.</h1>
      <p id="hero-copy">Choose one change, then check what Git saved.</p>
    </section>
    <section class="features" aria-labelledby="features-title">
      <h2 id="features-title">Follow your work</h2>
      <div class="cards">
        <article class="feature-card">
          <h3>History</h3>
          <p>Read commits and branches together.</p>
        </article>
        <article class="feature-card">
          <h3>Changes</h3>
          <p>Review the exact content selected for a commit.</p>
        </article>
        <article class="feature-card">
          <h3>Recovery</h3>
          <p>Inspect the scope of a recovery point before using it.</p>
        </article>
      </div>
    </section>
    <section aria-labelledby="plans-title">
      <h2 id="plans-title">Choose the workflow you need</h2>
      <div class="cards">
        <article class="feature-card">
          <h3>Local Git</h3>
          <p>Local Git workflows work without signing in.</p>
        </article>
        <article class="feature-card">
          <h3>Connected workflows</h3>
          <p>Provider integrations and Nour require Pro or an applicable trial.</p>
        </article>
      </div>
    </section>
  </main>
  <footer><p>Built by a fictional team for GitTree Learn. Review one change at a time.</p></footer>
  <script type="module" src="site.js"></script>
</body>
</html>

GitTree में

पैलेट को Command+Shift+P (Ctrl+Shift+P पर Ubuntu) से खोलें। किसी नामित शाखा पर कार्रवाइयां उस शाखा के राइट-क्लिक मेनू का उपयोग करती हैं।

  1. जैसा कि अगले भाग में दिखाया गया है, तीन प्रतियाँ बनाएँ। प्रत्येक में, conflict/sara चेक आउट किया गया है और स्थिति खाली है। निरस्त प्रतिलिपि में conflict/sara की पूरी आईडी नोट करें।
  2. Continue copy. खोलें gittree-continue। conflict/omar पर राइट-क्लिक करें और Always a merge commit के साथ Merge conflict/omar into conflict/sara चुनें। ये रुकता है। बैनर पर Resolve चुनें, index.html खोलें, Edit Output चुनें, Review each change with confidence. लिखें और Save and Mark Resolved चुनें।
  3. जांचें कि कोई विरोध तो नहीं रह गया है, फिर बैनर पर एक बार Continue चुनें। नोटिस में लिखा है "हो गया।" और बैनर चला जाता है. नई समिति के दो माता-पिता हैं।
  4. Abort copy. खोलें gittree-abort और वही मर्ज शुरू करें। संघर्ष को अनसुलझा छोड़ दें. बैनर पर Abort… चुनें। संवाद "ऑपरेशन निरस्त करें?" समझाता है कि शाखा, अनुक्रमणिका और फ़ाइलें वापस उसी स्थिति में चली जाती हैं जैसी वे थीं और जो छोड़ा गया है उसे पहले पुनर्प्राप्ति स्नैपशॉट में रखा जाता है। Abort चुनें. नोटिस में कहा गया है, "निरस्त कर दिया गया। जो परिवर्तन छोड़ा गया है उसे refs/ogt/trash/… के अंतर्गत रखा गया है; पूर्ववत करने पर यह वापस आ जाता है।" (जब गर्भपात कुछ भी नहीं छोड़ता है, तो यह कहता है "निरस्त। भंडार वापस वहीं आ गया है जहां वह पहले था।")
  5. निरस्त की जाँच करें: conflict/sara अभी भी वह आईडी है जिसे आपने नोट किया है, पृष्ठ सारा का पूरा शीर्षक है और कोई बैनर नहीं है।
  6. Skip copy. खोलें gittree-skip। conflict/omar पर राइट-क्लिक करें और Rebase conflict/sara onto conflict/omar चुनें। विकल्पों को छोड़ दें और Rebase conflict/sara चुनें। ये रुकता है। बैनर अब Continue और Abort… के आगे Skip ऑफर करता है; मर्ज बैनर में कोई स्किप नहीं था।
  7. पढ़ें कि कौन सा कमिट दोबारा चलाया जा रहा है (सारा का), स्वीकार करें कि स्किप करने से उसका शीर्षक छूट जाता है, और एक बार Skip चुनें। नोटिस में लिखा है, "कदम छोड़ दिया।"
  8. स्किप की जाँच करें: पेज उमर की हेडिंग दिखाता है, conflict/sara अब उमर की प्रतिबद्धता की ओर इशारा करता है और कोई बैनर नहीं दिख रहा है। तीनों परिणामों की तुलना करें और उन्हें अलग रखें।

पाठ्यक्रम में प्रत्येक सामान्य प्रतिबद्धता के लिए: Summary बताया गया विषय है, Description खाली है और विकल्प Amend Previous Commit, Skip Hooks, Add Signed-off-by, Different Author, Push After Commit और Allow Empty Commit बंद रहते हैं।

टर्मिनल में

पाठ 18 के परिणाम की एक अलग स्वच्छ प्रति में:

Command · bash
git switch --create conflict/sara
BASE_SHA="$(git rev-parse HEAD)"

SARA को index.html के रूप में सहेजें, फिर:

Command · bash
git add -- index.html
git -c user.name="Sara Lindqvist" -c user.email=sara@example.com commit --quiet -m "feat: Sara clarifies the hero"
git switch --quiet --create conflict/omar "$BASE_SHA"

OMAR को index.html के रूप में सहेजें, फिर:

Command · bash
git add -- index.html
git -c user.name="Omar Haddad" -c user.email=omar@example.com commit --quiet -m "feat: Omar explains the hero"
git switch --quiet conflict/sara

इस स्थिति की तीन साफ़ प्रतिलिपियाँ बनाएँ (gittree-continue, gittree-abort, gittree-skip)। जब भी आप अनिश्चित हों तो सबसे पहले देखें कि क्या सक्रिय है:

Command · bash
git status

Continue copy. निकास कोड 1 के साथ मर्ज रुक जाता है। RESOLVED को index.html के रूप में सहेजें, फिर:

Command · bash
git merge --no-ff --no-edit conflict/omar
git add -- index.html
git -c core.editor=true merge --continue
git ls-files --unmerged
git status --short

अंतिम दो कमांड कुछ भी प्रिंट नहीं करते हैं। Abort copy:

Command · bash
git rev-parse conflict/sara
git merge --no-edit conflict/omar
git merge --abort
git rev-parse HEAD conflict/sara
git status --short

मर्ज रुक जाता है, और git merge --abort इसे समाप्त कर देता है। git rev-parse HEAD conflict/sara द्वारा मुद्रित दोनों आईडी बराबर हैं, index.html सारा का पूरा पृष्ठ है और स्थिति खाली है। एक रुका हुआ रिबेस उसी तरह छोड़ दिया जाता है git rebase --abort के साथ। Skip copy:

Command · bash
git rebase conflict/omar
git rebase --skip
git rev-parse HEAD conflict/omar
git status --short

रिबेस रुक जाता है; git rebase --skip इसे "सफलतापूर्वक पुनः आधारित" के साथ समाप्त करता है। दोनों आईडी समान हैं, इसलिए सारा की शाखा अब उमर की प्रतिबद्धता पर बैठती है, पृष्ठ उमर का है, और स्थिति खाली है। सारा की छोड़ी गई प्रतिबद्धता अब शाखा पर नहीं है, लेकिन गिट के पास अभी भी कुछ समय के लिए है (रीफ्लॉग, पाठ 29)। उस परिणाम को ऐसे रिज़ॉल्यूशन के रूप में न पढ़ें जिसमें दोनों इनपुट रखे गए हों।

नतीजा

Where you end: तीन प्रतियां, तीन अलग-अलग परिणाम। जारी प्रतिलिपि में संयुक्त शीर्षक के साथ दो-पैरेंट मर्ज प्रतिबद्धता है। निरस्त प्रति बिल्कुल वहीं है जहां से इसकी शुरुआत हुई थी, सारा के शीर्षक के साथ। स्किप कॉपी में उमर का शीर्षक है और उमर की प्रतिबद्धता पर सारा की शाखा है। तीनों में ऑपरेशन ख़त्म हो गया है और स्थिति साफ़ है.

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

  • किसी संघर्ष से "पार पाने" के लिए स्किप का उपयोग करना। यह उस प्रतिबद्धता के परिवर्तन को परिणाम से हटा देता है।
  • एक और मर्ज या रीबेस शुरू करना जबकि एक अभी भी रुका हुआ है।
  • बचने के लिए git merge --abort या git rebase --abort के बजाय git reset --hard का उपयोग करना।
  • जब आप काम पूरा करने से एक क्लिक दूर हों तो निरस्त करना, या जब आप सुनिश्चित नहीं हों कि क्या हो रहा है तब जारी रखना।

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

यदि आप खो गए हैं, तो पहले बैनर या git status पढ़ें और फिर से निर्णय लें। गर्भपात हमेशा शुरुआत में वापस लौटने का सुरक्षित तरीका होता है। यदि आपने गलती से छोड़ दिया है, तो बिना सोचे-समझे फिर से शुरू न करें: छोड़ी गई प्रतिबद्धता अभी भी रीफ्लॉग (पाठ 29) से कुछ समय के लिए पहुंच योग्य है, और पाठ 30 दिखाता है कि GitTree का पूर्ववत क्या वापस ला सकता है।

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

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

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

    एक रिबेस एक संघर्ष पर रुक गया। आपने फ़ाइल का समाधान किया और उसे चरणबद्ध किया. रिबेस किस कमांड पर चलता है?

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

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

    git rebase --skip क्या करता है?

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

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

    स्किप कॉपी में आप एक बार स्किप चुनें। पृष्ठ और शाखा बाद में कैसी दिखती हैं?

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

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

    इनपुट बदलें: जारी रखें कॉपी में आप फ़ाइल को हल करें और इसे हल किया हुआ चिह्नित करें, फिर जारी रखें के बजाय निरस्त करें... चुनें। आपके संकल्प का क्या होता है?

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

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

    आप मर्ज के बीच में हैं और बैनर पर स्किप बटन ढूंढ रहे हैं, लेकिन वह वहां नहीं है। क्यों?

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

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

    एबॉर्ट कॉपी में मर्ज को एबॉर्ट करने के बाद, कौन से रीडबैक दिखाते हैं कि आप शुरुआत में वापस आ गए हैं?

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

6 में से 0 सही

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

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

अभ्यास करें

प्रत्येक प्रति में, ऑपरेशन, विकल्प और प्रमाण बताएं: जारी रखने के लिए दो माता-पिता और खाली असंबद्ध सूची, निरस्त करने के लिए समान आईडी और सारा का पृष्ठ, छोड़ें उमर का पृष्ठ और उसकी प्रतिबद्धता पर शाखा। फिर अनुमान लगाएं कि मर्ज के लिए स्किप की पेशकश क्यों नहीं की गई है।

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

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

पुनर्कथन

  • कार्य करने से पहले पता लगाएँ कि क्या सक्रिय है।
  • समाधान करने के बाद जारी रखें, केवल प्रतिबद्धता छोड़ने के लिए छोड़ें, वापस जाने के लिए निरस्त करें।
  • बाद में कमिट, फ़ाइलें और स्थिति की जाँच करें।

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

जारी रखें — متابعة; छोड़ें - تخطّي; गर्भपात - إيقاف; ऑपरेशन - ملية.

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

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

प्रतिलिपि दिखाएँ
  1. मर्ज या रीबेस रुक जाता है. आपके पास तीन हैं बाहर के रास्ते.
  2. जारी रखें इसे समाप्त करें। एक छोड़ें छोड़ें प्रतिबद्ध. गर्भपात वापस चला जाता है.
  3. सबसे पहले, हमेशा पता लगाएं कि कौन सा ऑपरेशन है सक्रिय.
  4. बैनर इसे नाम देता है। एक टर्मिनल में, git स्टेटस करता है.
  5. सारा और उमर की शाखाओं का निर्माण करें, और तीन समान प्रतियाँ।
  6. एक ही शुरुआत, तीन अलग-अलग अंत।
  7. एक कॉपी करें: हम जारी रखते हैं। मर्ज प्रारंभ करें, और यह रुक जाता है.
  8. समाधान करें, फ़ाइल खोलें, और लिखें संयुक्त शीर्षक.
  9. सहेजें और समाधान चिह्नित करें, ताकि Git देख सके फ़ाइल के रूप में किया गया।
  10. जारी रखें अब उपलब्ध है। इसे एक बार चुनें.
  11. हो गया। नई समिति के दो माता-पिता हैं, और बैनर चला गया है.
  12. प्रतिलिपि दो: हम गर्भपात करते हैं। वही मर्ज प्रारंभ करें.
  13. संघर्ष को अकेला छोड़ दें, और चुनें गर्भपात.
  14. संवाद बताता है कि क्या वापस आता है, और सबसे पहले क्या रखा जाता है.
  15. भंडार वहीं वापस आ गया है जहां वह था पहले.
  16. शाखा टिप एक ही आईडी है, और पेज फिर से सारा का है।
  17. प्रतिलिपि तीन: हम छोड़ते हैं। यह एक रिबेस है.
  18. सारा की शाखा को उमर की शाखा पर पुनः स्थापित करें। यह रुक जाता है एक संघर्ष के साथ.
  19. अब बैनर में स्किप बटन है। एक विलय कभी एक नहीं था.
  20. स्किप सारा की प्रतिबद्धता को छोड़ देता है परिणाम. इसे ज़ोर से कहो.
  21. एक बार छोड़ें चुनें.
  22. पेज उमर की हेडिंग दिखाता है। सारा का शाखा अब उसकी प्रतिबद्धता पर बैठती है।
  23. छोड़ना कोई संकल्प नहीं है. इसे हटा दिया गया इस नतीजे से सारा में बदलाव.
  24. टर्मिनल में, git status दिखाता है कि क्या है सक्रिय, और आदेश।
  25. मर्ज: हल की गई फ़ाइल जोड़ें, फिर git विलय जारी है.
  26. निरस्त: शाखा टिप वही है पहले और बाद में.
  27. स्किप: गिट रिबेस स्किप, और शाखा उमर की प्रतिबद्धता पर बैठता है।
  28. प्रत्येक प्रतिलिपि में, स्थिति रिक्त है, और कुछ भी अविलीन नहीं बचा है.
  29. इनपुट बदलें: फिर फ़ाइल का समाधान करें इसके बजाय गर्भपात चुनें।
  30. आपका संकल्प गिरा दिया जाता है, के बाद पुनर्प्राप्ति स्नैपशॉट सहेजा गया है.
  31. बचने के लिए कभी भी रीसेट हार्ड का उपयोग न करें। गर्भपात है सुरक्षित रास्ता बाहर.
  32. यदि आप गलती से चूक गए, तो प्रतिबद्धता है अभी भी रिफ्लॉग में है।
  33. अभ्यास करें: ऑपरेशन को नाम दें, विकल्प, और प्रत्येक प्रति के लिए प्रमाण।
  34. इसके बाद, एक कमिट को दूसरे कमिट पर कॉपी करें चेरी-पिक के साथ शाखा।