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

पाठ 17 · रोजमर्रा का काम

किसी फ़ाइल के इतिहास और पंक्ति लेखकत्व का पालन करें

रीडमी समीक्षा पंक्ति का श्रेय माया को दें और पाद अनुस्मारक लियो को दें, लेखकत्व को कोड अनुमोदन न मानते हुए फ़ाइल इतिहास और दोष का उपयोग करें।

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

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

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

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

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

  • फ़ाइल इतिहास को वर्तमान लाइन एट्रिब्यूशन से अलग करें।
  • लेखक और कमिटर को स्वतंत्र रूप से पढ़ें।
  • प्रतिबद्धताओं की जाँच किए बिना पहले के दोष का निरीक्षण करें।
  • एट्रिब्यूशन साक्ष्य को सुरक्षा ट्रस्ट से अलग रखें।

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

जहां पाठ 15 समाप्त हुआ वहां से प्रारंभ करें: मुख्य रूप से अनदेखा प्रतिबद्धता के साथ, साफ़ करें; README.md अभी भी मूल README है, और Index.html में पाठ 11 से लियो का पादलेख शामिल है। प्रकाशित सुविधा और v0.1.0 टैग अपरिवर्तित हैं।

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

GitTree आपसे साइन इन करने के लिए कहता है; फिर नि:शुल्क योजना यहां हर चरण को कवर करती है। किसी प्रदाता खाते, प्रो/ट्रायल, एपीआई क्रेडेंशियल या इंटरनेट सेवा की आवश्यकता नहीं है। स्थानीय मूल उत्पत्ति GitLab या सीआई नहीं है। सभी पहचान example.com का उपयोग करती हैं; इस पाठ को कभी भी स्रोत चेकआउट के अंदर न चलाएँ।

समान इनपुट पर या तो GitTree या मूल पथ के माध्यम से उत्परिवर्तन करें, दोनों लगातार नहीं। केवल पढ़ने योग्य सत्यापन का पालन किया जा सकता है। टर्मिनल कार्य के रूप में वर्णित किसी भी तैयारी को मूल तैयारी का लेबल दिया जाता है, कभी भी एक आविष्कृत ऐप सुविधा नहीं।

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

पथ/इतिहास नियमों द्वारा चयनित फ़ाइल इतिहास सूचियाँ; ब्लेम वर्तमान लाइनों को उन कमिट्स के लिए जिम्मेदार ठहराता है जिन्होंने अंतिम बार उन्हें चयनित विकल्पों के तहत पेश किया था। न ही इस बात की पूरी सामाजिक व्याख्या है कि किसी फीचर को किसने डिज़ाइन किया है।

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

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

स्पष्ट README प्रतिबद्ध केवल मुख्य अग्रिम। बाद के इतिहास/दोष ​​चयन और टॉगल ऐप दृश्य स्थिति को बदलते हैं; कोई अनुक्रमणिका, कार्यशील, स्थानीय शाखा या सर्वर उत्परिवर्तन नहीं होता है।

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

मूल मुख्य सेव पर नीचे README_MAYA पूरा करें। मूल तैयारी केवल इस एक प्रतिबद्धता के लिए git -c user.name/user.email का उपयोग करती है, वैश्विक कॉन्फ़िगरेशन या भ्रामक लेखक-केवल ओवरराइड का नहीं। वास्तविक परिणामी मेटाडेटा कैप्चर करें.

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

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

README.md - README_MAYA

आउटपुट
# 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.

Review changes deliberately and preserve useful work.

GitTree में

पैलेट: Command+Shift+P (Ubuntu पर Ctrl+Shift+P); सटीक नामित कमांड टाइप करें और उसका चयन करें। नामांकित-रेफ क्रियाएँ उस पंक्ति के संदर्भ मेनू का उपयोग करती हैं, तर्क-मुक्त पैलेट शॉर्टकट का नहीं।

  1. फ़ाइलें दिखाएँ; README.md खोलें और पूरा README_MAYA सेव करें। जोड़ी गई समीक्षा पंक्ति की समीक्षा करें.
  2. नीचे दी गई स्पष्ट काल्पनिक पहचान के साथ मूल रूप से जोड़ जोड़ें; इस टीम-साथी तैयारी को लेबल करें। यह दावा न करें कि ऐप ने मौजूदा लेखकों को दोबारा लिखा है।
  3. शो फाइल्स के माध्यम से README.md को खोलने और फिर README.md के साथ, फ़ाइल दृश्य में चार टैब होते हैं: File, Changes, Blame और History। History चुनें: यह केवल इस फ़ाइल की प्रतिबद्धताओं को सूचीबद्ध करता है, माया शीर्ष पर है। माया की प्रतिबद्धता का चयन करें.
  4. पथ अंतर और मेटाडेटा का निरीक्षण करें; चेकआउट के बिना किसी अन्य संशोधन का निरीक्षण करने के लिए इतिहास सूची एरोअप/एरोडाउन का उपयोग करें।
  5. README.md पर Blame चुनें। हेडर में "ब्लेम @" एक छोटी कमिट आईडी लिखी होती है, और पंक्तियों को कमिट द्वारा समूहीकृत किया जाता है; जोड़ी गई लाइन पर क्लिक करें. माया के वास्तविक विषय और पहचान की अपेक्षा करें, किसी आविष्कृत निश्चित SHA की नहीं।
  6. Index.html खोलें और दोष चुनें; फ़ूटर लाइन के लियो एट्रिब्यूशन का स्वतंत्र रूप से निरीक्षण करें।
  7. Ignore whitespace changes और Follow moved lines दोष दृश्य के प्रदर्शन विकल्प हैं। किसी कमिट समूह पर क्लिक करें, दोष को वैसे ही देखने के लिए Blame before this commit चुनें, फिर Back to the later blame चुनें।
  8. Back to Graph; Jump to HEAD (Ctrl+Shift+H पर Ubuntu)। निरीक्षण के बाद स्वच्छ मूल मुख्य और अपरिवर्तित वास्तविक टिप को सत्यापित करें।

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

टर्मिनल में

README_MAYA सहेजने के बाद:

Command · bash
git add -- README.md
git -c user.name="Maya Chen" -c user.email=maya@example.com commit --quiet -m "docs: explain deliberate review"
git log -1 --format='%an <%ae>%n%cn <%ce>' -- README.md
git blame --line-porcelain -- README.md
git blame --line-porcelain -- index.html
git status --short

प्रतिबद्धता सफल होती है. वास्तविक लेखक क्वेरी में शामिल हैं:

आउटपुट
Maya Chen <maya@example.com>
Maya Chen <maya@example.com>

संपूर्ण दोष आउटपुट में वास्तविक परिवर्तनीय SHA/समय और प्रति-पंक्ति रिकॉर्ड शामिल हैं। नई README लाइन के लिए सत्यापित रिकॉर्ड फ़ील्ड में लेखक माया चेन, लेखक-मेल <maya@example.com>, सारांश दस्तावेज़ शामिल हैं: जानबूझकर समीक्षा की व्याख्या करें, फिर एक टैब-उपसर्ग समीक्षा जानबूझकर बदलती है और उपयोगी कार्य को संरक्षित करती है। फ़ुटर रिकॉर्ड लियो ओकाफ़ोर और उसकी अनुस्मारक प्रतिबद्धता की पहचान करता है; इसे वास्तविक वृक्ष से मापा जाना चाहिए, न कि प्रत्येक HTML पंक्ति के लिए एक समान लेखक के रूप में आविष्कार किया जाना चाहिए। अंतिम स्थिति रिक्त है.

केवल पढ़ने योग्य विकल्प:

Command · bash
git log --follow --format='%s' -- README.md
git blame -w -- README.md
git blame -M -- README.md

ये विकल्प विभिन्न एट्रिब्यूशन प्रश्नों का उत्तर देते हैं; आउटपुट लेआउट Git-संस्करण-विशिष्ट है और इसे कैप्चर किया गया है, पोर्सिलेन फ़ील्ड अंश के साथ प्रतिस्थापित नहीं किया गया है।

नतीजा

Where you end: माया का एक रीडमी एडिशन डॉक्स के रूप में प्रतिबद्ध है: मुख्य पर जानबूझकर समीक्षा समझाएं। ब्लेम उस नई पंक्ति का श्रेय माया को और पाद लेख का श्रेय लियो को देता है; निरीक्षण से HEAD/सूचकांक/कार्य साफ़ और अपरिवर्तित रहता है।

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

  • दोष को दोषयोग्यता अंक कहना।
  • यह मानते हुए कि लेखक हमेशा कमिटर के बराबर होता है।
  • किसी कमिट की जाँच केवल उसकी लाइन का निरीक्षण करने के लिए करना।

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

दृश्य विकल्प साफ़ करें या बाद वाले दोष पर वापस लौटें/सिर पर जाएँ। नेविगेशन को रीसेट की आवश्यकता नहीं है. यदि एट्रिब्यूशन भिन्न है, तो इतिहास संपादित करने से पहले वास्तविक पथ, संशोधन और व्हाइटस्पेस/मूव सेटिंग्स का निरीक्षण करें।

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

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

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

    दोष क्या उत्तर देता है?

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

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

    कौन से भेद मायने रखते हैं?

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

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

    पुरानी फ़ाइल संशोधन का चयन करें: HEAD?

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

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

    रिक्त स्थान को अनदेखा करने के लिए क्वेरी बदलें: बाइट्स?

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

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

    अलग-अलग दोष परिणाम: पहले जांचें?

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

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

    नतीजा क्या साबित होता है?

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

6 में से 0 सही

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

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

अभ्यास करें

वास्तविक लाइन-पोर्सिलेन रिकॉर्ड का उपयोग करके सिद्ध करें कि README समीक्षा पंक्ति माया की है और पादलेख लियो की है। -w को एक अलग रीड-ओनली क्वेरी में टॉगल करें और बताएं कि यहां अपरिवर्तित एट्रिब्यूशन यह साबित क्यों नहीं करता है कि विकल्प कभी मायने नहीं रखता।

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

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

पुनर्कथन

  • इतिहास और दोष अलग-अलग सवालों के जवाब देते हैं।
  • मेटाडेटा भरोसा नहीं है.
  • निरीक्षण से सिर नहीं हिलता.

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

दोष - نسب الأسطر; फ़ाइल इतिहास — سجل الملف; लेखक - المؤلف; कमिटर - المُودِع.

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

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

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