பிழைகளைச் சரிசெய்தல்: restore, reset, revert — சரியான மற்றும் ஆபத்தான முறைகள்
நேர்காணல்களிலும் நிஜ வேலைகளிலும் மிகவும் கேட்கப்படும் தலைப்புகளில் ஒன்று - ஏற்கனவே செய்ததை எவ்வாறு மாற்றியமைப்பது. வெவ்வேறு 'ஆழத்தில்' மாற்றியமைக்கும் மூன்று கருவிகளை நாம் விளக்குவோம் மற்றும் மிக முக்கியமானவற்றில் கவனம் செலுத்துவோம்: reset --hard குழு வேலையை எவ்வாறு அழிக்கிறது, மற்றும் revert பாதுகாப்பான மாற்றாக எவ்வாறு உள்ளது என்பதை குறிப்பிட்ட சூழ்நிலைகளுடன் காண்பிப்போம். நல்ல மற்றும் கெட்ட முடிவுகள் - உண்மையான விளைவுகளுடன்.
- வேலை அடைவு, குறியீட்டு மற்றும் கமிட் வரலாறு என எந்த நிலையிலும் மாற்றங்களை நம்பிக்கையுடன் மாற்றியமைக்க முடியும்.
- reset மற்றும் revert இடையே உள்ள அடிப்படை வேறுபாட்டைப் புரிந்துகொண்டு, எந்த சூழ்நிலையில் எது பொருத்தமானது என்பதை அறியலாம்.
- குழு களஞ்சியத்தில் மாற்றங்களை மாற்றியமைக்கும் போது புதியவர்கள் செய்யும் பொதுவான தவறுகளைத் தவிர்க்க கற்றுக்கொள்ளலாம்.
จุดเริ่มต้นของบทเรียน
Git restore: கோப்புகளுக்கான ரத்து பொத்தான்
- Git restore — commit செய்யாத மாற்றங்களை ரத்து செய்கிறது
- எடிட்டரில் உள்ள 'ரத்து' பொத்தானைப் போல் செயல்படுகிறது
- பாதுகாப்பானது — commit வரலாற்றை மாற்றாது
- கடைசியாக சேமித்த நிலைக்கு கோப்புகளை திருப்பி அனுப்புகிறது
தற்செயலாக பிழையுடன் ஒரு கோப்பை சேமித்து, முந்தைய நிலைக்கு திரும்ப விரும்புகிறீர்கள் என்று கற்பனை செய்யுங்கள். Git restore ஒரு மாய ரத்து பொத்தானாக செயல்படுகிறது — இது கோப்புகளை கடைசியாக பதிவு செய்யப்பட்ட நிலைக்கு திருப்பி விடுகிறது. மற்ற ரத்து கட்டளைகளைப் போலல்லாமல், restore commit செய்யப்படாத மாற்றங்களுடன் மட்டுமே வேலை செய்கிறது மற்றும் உங்கள் திட்ட வரலாற்றிற்கு முற்றிலும் பாதுகாப்பானது. தற்செயலான மாற்றங்களை விரைவாக சரிசெய்ய இதுவே முதல் கருவி.
வேலை செய்யும் கோப்பகத்தில் மாற்றங்களை ரத்து செய்தல்
- git restore file.txt — கோப்பை கடைசி commit க்கு திருப்பி அனுப்புதல்
- வேலை செய்யும் கோப்பகத்தில் உள்ள அனைத்து மாற்றங்களையும் ரத்து செய்கிறது
- பாதுகாப்பானது — எடிட்டர் மூலம் மாற்றங்களை மீட்டெடுக்க முடியும்
- மீட்டெடுப்பதற்கு முன் git status ஐ சரிபார்க்கவும்
நீங்கள் அரை மணி நேரம் உள்ளமைவு கோப்பை திருத்தியிருக்கிறீர்கள், ஆனால் திசை தவறாக போகிறீர்கள் என்பதை உணர்கிறீர்கள். ஒவ்வொரு மாற்றத்தையும் கைமுறையாக ரத்து செய்வதற்கு பதிலாக, git restore config.yml ஐ இயக்கவும். கோப்பு உடனடியாக கடைசி commit இன் நிலைக்கு திரும்பும். இது கோப்பை சேமிக்காமல் மூடுவது போன்றது, ஆனால் வேலை செய்யும் பதிப்பிற்கு திரும்புவதற்கான உத்தரவாதத்துடன்.
# கோப்பு மீட்டெடுப்பின் நிரூபணம்
$ echo "தவறான மாற்றங்கள்" > main.py
$ git status
$ git restore main.py
$ cat main.py
$ git status
கோப்பை குறியீட்டிலிருந்து அகற்றுதல்
- git restore --staged file.txt — கோப்பை குறியீட்டிலிருந்து அகற்றுதல்
- வேலை கோப்பகத்தில் மாற்றங்களை பாதுகாக்கிறது
- எச்சரிக்கை: --staged இல்லாமல் மாற்றங்கள் இழக்கப்படும்
- செயல்படுத்துவதற்கு முன் எப்போதும் git status ஐ சரிபார்க்கவும்
அடிக்கடி ஏற்படும் தவறுகளில் ஒன்று — தேவையற்ற கோப்பை குறியீட்டில் சேர்ப்பது. எடுத்துக்காட்டாக, நீங்கள் git add . செய்து தற்காலிக அமைப்புக் கோப்பை சேர்த்துள்ளீர்கள். git restore --staged settings.tmp கட்டளை அதை குறியீட்டிலிருந்து நீக்கி, வேலை கோப்பகத்தில் உள்ள அனைத்து மாற்றங்களையும் பாதுகாக்கும். --staged இல்லாமல் நீங்கள் உங்கள் பணிகளை இழக்க நேரிடும், எனவே restore செய்வதற்கு முன் எப்போதும் git status மூலம் சரிபார்க்கவும். இப்போது commit க்கு முன் மாற்றங்களை ரத்து செய்ய முடியும். ஆனால் பிழை ஏற்கனவே வரலாற்றில் நுழைந்திருந்தால் என்ன செய்வது? அப்போது git reset உதவும்.
# தற்செயலாக கோப்பை குறியீட்டில் சேர்த்தல்
$ git add config.tmp
$ git status
# மாற்றங்களை பாதுகாத்து, குறியீட்டிலிருந்து நீக்குதல்
$ git restore --staged config.tmp
$ git status
# கோப்பு வேலை கோப்பகத்தில் இருப்பதை சரிபார்த்தல்
$ ls -la config.tmp
บทเรียนฉบับเต็มใช้ได้เมื่อสมัครสมาชิก
ฉบับเต็มมีสไลด์เพิ่มอีก 24 สไลด์
วิดีโอ สไลด์ทั้งหมด โน้ต แบบทดสอบ AI ติวเตอร์ และการสัมภาษณ์จะเปิดหลังเข้าสู่ระบบและสมัครสมาชิก
เข้าสู่ระบบหรือลงทะเบียน สมัครสมาชิกเนื้อหาบทเรียน
- Git restore: கோப்புகளுக்கான ரத்து பொத்தான்
- வேலை செய்யும் கோப்பகத்தில் மாற்றங்களை ரத்து செய்தல்
- கோப்பை குறியீட்டிலிருந்து அகற்றுதல்
- Git reset: வரலாற்றை எப்படி மாற்றுகிறது
- பாதுகாப்பான reset --soft: குறியீட்டில் மாற்றங்கள்
- நிலையான reset --mixed: வேலை கோப்பகத்தில் மாற்றங்கள்
- ஆபத்தான reset --hard: நிரந்தர நீக்கம்
- Reset: மூன்று முறைகள், ஒரே கட்டளை
- git reset --soft: வரலாற்றைப் பாதுகாப்பாக மாற்றுதல்
- எப்போது --mixed மற்றும் --hard பயன்படுத்துவது
- சரிபார்ப்புப் பட்டியல்: எந்த reset தேர்ந்தெடுப்பது?
- ஏன் வெறுமனே பிழையை அழிக்க முடியாது?
- git revert நடைமுறையில் எப்படி வேலை செய்கிறது
- ஒரே நேரத்தில் பல கமிட்டுகளை ரத்துசெய்தல்
- Reset: வரலாற்றை உள்ளூரில் மாற்றுதல்
- Revert: மாற்றங்களைப் பாதுகாப்பாக ரத்து செய்தல்
- push செய்யும் போது என்ன நடக்கும்: reset vs revert
- reset --hand ஏன் ஆபத்தானது
- மாற்றங்களை இழத்தல் – உதாரணம்
- தரவை மீட்டெடுப்பது எப்படி
- பொதுவான பிரான்சில் பின்னோக்கிச் செல்வதன் ஆபத்துகள்
- Revert மூலம் பாதுகாப்பான பின்னோக்கிச் செல்லல்
- சரியான செயல் வரிசை
- எப்போது எதைப் பயன்படுத்துவது: restore, reset அல்லது revert
- தனிப்பட்ட மற்றும் பொது வரலாற்றுடன் பணிபுரிவதற்கான விதிகள்
- பிழை ஏற்படும் போது படிப்படியான வழிகாட்டி
- சுருக்கம் மற்றும் பயிற்சி: மாற்றத்திரும்பலின் மாஸ்டர்
บทความเกี่ยวกับบทเรียนนี้
- คำสั่ง Git: ชีตสรุปพร้อมตัวอย่างสำหรับใช้ทุกวัน
- git checkout, switch และ restore: ควรใช้อะไรเมื่อไร
- git reset กับ git revert: วิธียกเลิกคอมมิตโดยไม่ทำลายประวัติของทีม
- git reflog: วิธีกู้คอมมิตและบรานช์ที่หายไป
- Git และ GitHub: ต่างกันอย่างไร และเชื่อมโยงกันอย่างไร
บทเรียนทั้งหมดในคอร์สนี้
- அறிமுகம்: Git-ஐ பூஜ்ஜியத்திலிருந்து நம்பிக்கையான டெவலப்பர் வரை
- Git எதற்கு தேவை - மற்றும் ஏன் அது இல்லாமல் வேலைக்கு சேர்க்க மாட்டார்கள்
- நிறுவல் மற்றும் அமைப்புகள்: Git-ஐ முதல் முறையாகப் பயன்படுத்தத் தயார்படுத்துதல்
- முதல் களஞ்சியம்: init, add, commit மற்றும் குறியீட்டின் மந்திரம்
- வரலாற்றை வாசித்தல்: log, diff, show மற்றும் கடந்த காலத்தில் செல்லுதல்
- கிளைகள்: உங்கள் குறியீட்டின் இணை யதார்த்தம்
- பிழைகளைச் சரிசெய்தல்: restore, reset, revert — சரியான மற்றும் ஆபத்தான முறைகள்
- GitHub மற்றும் தொலை களஞ்சியங்கள்: உங்கள் குறியீடு கிளவுட் (Cloud) இல்
- குழு பணிகள்: ஃபோர்குகள், ஃபீச்சர் பிரான்சுகள் மற்றும் புல் ரெக்வெஸ்ட்கள்
- இணைப்பு முரண்பாடுகள்: பீதி அடைய வேண்டாம் – புரிந்துகொண்டு தீர்க்கவும்
- உண்மையான குழுக்களில் Git செயல்முறைகள்: எந்த workflow-ஐ தேர்வு செய்வது
- மேம்பட்ட கருவிகள்: rebase, stash, cherry-pick மற்றும் குறிச்சொற்கள்
- இறுதித் திட்டம்: உண்மையான குழு மேம்பாட்டு பணியை உருவகப்படுத்துதல்