Overview
यह लेक्चर Git टूल में status, log commands, branching, merging, conflict resolution, branch deletion और stashing की बेसिक से एडवांस समझ पर केंद्रित है।
Git Status और Log
- Git स्टेटस (git status -s) से फाइल्स के वर्तमान स्टेजेस (untracked, added, modified, committed) पता चलते हैं।
- git log कमांड से सारे commits (saved points) की लिस्ट और उनके संदेश देख सकते हैं।
- git log --oneline से संक्षिप्त रूप से commits देख सकते हैं।
Git में फाइल्स की स्टेजेस
- नई फाइल गिट को unknown (untracked) रहती है।
- Stage/Add करने से फाइल staged होती है (A)।
- फाइल में बदलाव करने पर वह modified (M) दिखती है।
- Commit करने पर गिट उसमें नए checkpoint बना लेता है।
Branching
- ब्रांचिंग में main से अलग copy (ब्रांच) बनाकर उसपर नया काम किया जाता है।
- feature/feature-name नाम देकर ब्रांच meaningful बनाते हैं।
- ब्रांच पर किया गया commit main से अलग रहता ह ै जब तक merge नहीं किया जाए।
Merging & Merge Conflicts
- Merge करने पर दूसरी ब्रांच के changes main में जोड़े जाते हैं।
- अगर दोनों ब्रांच में एक ही जगह अलग-अलग बदलाव हों तो conflict आता है।
- Conflict में 3 विकल्प: current change, incoming change, या दोनों को accept करना।
- Merge के बाद changes को दुबारा add और commit करना जरूरी है।
Merge Techniques
- Three Way Merge — जब दोनों ब्रांचें अलग-अलग आगे बढ़ती हैं तो merging के लिए नया commit बनता है।
- Fast Forward Merge — जब side branch में ही changes हों तो head pointer बस आगे move हो जाता है, नया commit नहीं बनता।
Branch Delete एवं Stashing
- Merge के बाद अनावश्यक ब्रांच git branch -d branch-name से हटाई जाती है।
- Stashing में बिना commit किए गए changes को अस्थाई रूप से सेव कर सकते हैं (git stash)।
- git stash apply से वह changes वापस आते हैं; git stash clear से सब स्टैश हट जाते हैं।
Key Terms & Definitions
- Untracked Files — गिट द्वारा न पहचानी गई नई फाइल्स।
- Staging — फाइल को commit के लिए तैयार करना।
- Commit — फाइल्स के एक set की सेविंग (checkpoint)।
- Branch — मेन कोडबेस से अलग काम करने की copy।
- Merge — ब्रांच को मुख्य ब्रांच में मिलाना।
- Merge Conflict — एक ही लाइन में अलग-अलग changes होने पर विवाद।
- Stash — बिना commit किए changes को अस्थाई रूप से सेव करना।
Action Items / Next Steps
- Git में branching, merging और stashing की प्रैक्टिकल प्रैक्टिस करें।
- अगले सेशन में branching और merge conflicts के रियल केस पर ध्यान दें।
- वीडियो और लिखी हुई थीओरी को एक बार pause करके पढ़ें और खुद भी आज़माएँ।