एडवांस्ड Git
Amanda Crawford-Adamo
Software and Data Engineer
.git/logs/refs/heads/ डायरेक्टरी में सेव होता है
| Feature | Git Reflog | Git Log |
|---|---|---|
| Purpose | लोकल repo में संदर्भ अपडेट्स और री-राइट्स दिखाता है | सिर्फ commit इतिहास दिखाता है |
| Scope | केवल लोकल रिपोजिटरी | लोकल और रिमोट रिपोजिटरी |
| Content | सभी ref अपडेट्स (commits, resets, merges, आदि) | केवल commits |
| Persistence | अस्थायी (आमतौर पर 90 दिन) | स्थायी (रिपोजिटरी इतिहास का हिस्सा) |
| Use Case | खोए हुए commits रिकवर करना, हाल की क्रियाएँ समझना | प्रोजेक्ट इतिहास देखना, फीचर डेवलपमेंट समझना |
git reflog
git reflog show
git reflog expire

| Component | Description |
|---|---|
| short-hash | संक्षिप्त commit hash |
| ref | आमतौर पर HEAD, पर ब्रांच नाम भी हो सकते हैं |
| index | Reflog में स्थिति (0 सबसे नया) |
| action | क्रिया का प्रकार (commit, reset, merge, आदि) |
| descriptions | क्रिया के बारे में विवरण |
since = इस समय से एंट्रीज़ दिखाएँ
git reflog --since "time-qualifer"
until = इस समय तक की एंट्रीज़ दिखाएँ
git reflog --until "time-qualifer"
git reflog --since="1 week ago"
git reflog --until="yesterday"
git reflog --until="2024-01-01"
etl-feature नाम की ब्रांच बनाईहम etl-feature ब्रांच कैसे बहाल करें?
git reflog
git checkout <hash>
git checkout -b <branch-name>
| Reset Type | Command | Effect on Working Directory | Effect on Staging Area |
|---|---|---|---|
| Soft | git reset --soft <commit> |
कोई बदलाव नहीं | बदलाव staged रहते हैं |
| Mixed (Default) | git reset --mixed <commit> |
कोई बदलाव नहीं | बदलाव unstaged हो जाते हैं |
| Hard | git reset --hard <commit> |
बदलाव discard हो जाते हैं | बदलाव discard हो जाते हैं |
हम पिछले ETL स्क्रिप्ट बदलावों पर कैसे लौटें?
git reflog
git reset --soft HEAD@{1}
Reflog गलतियों पर हमारा लोकल टाइम मशीन है

एडवांस्ड Git