ஒரு Git கிளையிலிருந்து ஒரு உறுதிப்பாட்டை எவ்வாறு அகற்றுவது

ஒரு Git கிளையிலிருந்து ஒரு உறுதிப்பாட்டை எவ்வாறு அகற்றுவது
ஒரு Git கிளையிலிருந்து ஒரு உறுதிப்பாட்டை எவ்வாறு அகற்றுவது

Git இல் கமிட் வரலாற்றை நிர்வகித்தல்

Git என்பது ஒரு சக்திவாய்ந்த பதிப்பு கட்டுப்பாட்டு அமைப்பாகும், இது டெவலப்பர்கள் மாற்றங்களைக் கண்காணிக்கவும், அவர்களின் திட்ட வரலாற்றை திறமையாக நிர்வகிக்கவும் அனுமதிக்கிறது. இருப்பினும், தவறுகளை அகற்ற அல்லது திட்ட வரலாற்றை சுத்தம் செய்ய ஒரு கிளையிலிருந்து உறுதிமொழியை நீக்க வேண்டிய நேரங்கள் உள்ளன.

இந்த வழிகாட்டியில், உங்கள் கிளை வரலாற்றிலிருந்து உறுதியை அகற்றுவதற்கான பல்வேறு முறைகளை நாங்கள் ஆராய்வோம். `git reset --hard HEAD` பயன்படுத்துவது சரியான அணுகுமுறையா என்பதையும் இந்தக் கட்டளையின் சாத்தியமான விளைவுகள் என்ன என்பதையும் நாங்கள் விவாதிப்போம்.

கட்டளை விளக்கம்
git reset --hard HEAD~1 தற்போதைய கிளையை மிக சமீபத்திய உறுதிப்பாட்டிற்கு முன் உள்ள உறுதிக்கு மீட்டமைக்கிறது, வேலை செய்யும் அடைவு மற்றும் குறியீட்டில் உள்ள அனைத்து மாற்றங்களையும் நிராகரிக்கிறது.
git rebase -i HEAD~N கடைசி N கமிட்களை மதிப்பாய்வு செய்வதற்கும் மாற்றியமைப்பதற்கும் ஊடாடும் மறுதள அமர்வைத் தொடங்குகிறது.
drop வரலாற்றில் இருந்து ஒரு உறுதியை அகற்ற ஊடாடும் மறுதளத்தில் பயன்படுத்தப்படுகிறது.
edit ஒரு குறிப்பிட்ட உறுதியை மாற்ற ஊடாடும் மறுதளத்தில் பயன்படுத்தப்படுகிறது.
git commit --amend --no-edit கமிட் செய்தியை மாற்றாமல் முந்தைய உறுதிமொழியை திருத்துகிறது.
git rebase --continue முரண்பாடுகள் தீர்க்கப்பட்ட பிறகு அல்லது மாற்றங்கள் திருத்தப்பட்ட பிறகு மறுசீரமைப்பு செயல்முறையைத் தொடர்கிறது.
git push origin branch-name --force ரிமோட் ரிபோசிட்டரிக்கு அழுத்தம் கொடுக்கிறது, ரிமோட் கிளையை உள்ளூர் கிளையுடன் மேலெழுதுகிறது.

கமிட் அகற்றுவதற்கான Git கட்டளைகளை விளக்குகிறது

முதல் ஸ்கிரிப்ட்டில், நாம் பயன்படுத்துகிறோம் git reset --hard HEAD~1 கிளையிலிருந்து மிக சமீபத்திய உறுதிமொழியை நீக்க கட்டளை. இந்த கட்டளை தற்போதைய கிளையை சமீபத்தியதுக்கு சற்று முன் உறுதிக்கு மீட்டமைக்கிறது, வரலாற்றில் இருந்து அதை திறம்பட நீக்குகிறது. வேலை செய்யும் அடைவு மற்றும் குறியீட்டில் உள்ள அனைத்து மாற்றங்களும் நிராகரிக்கப்படுகின்றன. கடைசி கமிட்டை விரைவாக அகற்ற வேண்டியிருக்கும் போது இந்த முறை பயனுள்ளதாக இருக்கும், மேலும் அந்த உறுதிமொழியில் எந்த மாற்றமும் செய்யத் தேவையில்லை. இருப்பினும், இந்த கட்டளை மாற்றங்களை நிரந்தரமாக நீக்கிவிடும், மேலும் அவற்றை எளிதாக மீட்டெடுக்க முடியாது என்பதை கவனத்தில் கொள்ள வேண்டும். கட்டளை git push origin branch-name --force பின்னர் ரிமோட் ரிபோசிட்டரியில் மாற்றங்களை கட்டாயப்படுத்தவும், தொலைநிலை கிளையை உள்ளூர் கிளையுடன் மேலெழுதவும் பயன்படுத்தப்படுகிறது.

இரண்டாவது ஸ்கிரிப்ட் பயன்படுத்துகிறது git rebase -i HEAD~N ஒரு ஊடாடும் மறுதள அமர்வைத் தொடங்க கட்டளை. இந்த அமர்வு கடைசி N கமிட்களை மதிப்பாய்வு செய்து மாற்ற அனுமதிக்கிறது. இந்த அமர்வின் போது, ​​நீங்கள் பயன்படுத்தலாம் drop வரலாற்றில் இருந்து ஒரு குறிப்பிட்ட உறுதியை நீக்க கட்டளை. மாற்றாக, தி edit கட்டளையை ஒரு குறிப்பிட்ட பொறுப்பை மாற்ற பயன்படுத்தலாம். மாற்றங்கள் செய்யப்பட்டவுடன், தி git commit --amend --no-edit கட்டளை அதன் செய்தியை மாற்றாமல் முந்தைய உறுதிப்பாட்டை திருத்துகிறது. இறுதியாக, தி git rebase --continue தேவையான அனைத்து மாற்றங்கள் அல்லது மோதல் தீர்மானங்கள் செய்யப்பட்ட பிறகு கட்டளை மறுசீரமைப்பு செயல்முறையைத் தொடர்கிறது. இந்த அணுகுமுறை மிகவும் நெகிழ்வானது மற்றும் கமிட் வரலாற்றின் மீது துல்லியமான கட்டுப்பாட்டை அனுமதிக்கிறது, மற்ற மாற்றங்களை இழக்காமல் குறிப்பிட்ட கமிட்களை நீக்க அல்லது திருத்த வேண்டிய சிக்கலான காட்சிகளுக்கு இது சிறந்தது.

Git கட்டளைகளைப் பயன்படுத்தி Git கிளையிலிருந்து ஒரு உறுதிமொழியை நீக்குதல்

Git கட்டளை வரியைப் பயன்படுத்துதல்

# To delete the most recent commit from the branch
git reset --hard HEAD~1

# To delete a specific commit from the branch history
git rebase -i HEAD~N
# Replace N with the number of commits to review
# In the text editor, replace 'pick' with 'drop' for the commit to delete

# To force push the changes to the remote repository
git push origin branch-name --force
# Replace 'branch-name' with your actual branch name

கமிட் வரலாற்றை Git இல் மீண்டும் எழுதுதல்

Git இன்டராக்டிவ் ரீபேஸைப் பயன்படுத்துதல்

# Start an interactive rebase session to modify the last N commits
git rebase -i HEAD~N
# Replace N with the number of recent commits to modify

# In the text editor that appears, change 'pick' to 'edit' for the commit you want to modify
# Save and close the editor

# Make necessary changes, then amend the commit
git commit --amend --no-edit
git rebase --continue
# Repeat as necessary for additional commits

Git கமிட் வரலாற்றை நிர்வகிப்பதற்கான விரிவான உத்திகள்

முன்னர் விவாதிக்கப்பட்ட முறைகள் தவிர, Git இல் உறுதி வரலாற்றை நிர்வகிப்பதற்கான மற்றொரு அத்தியாவசிய நுட்பம் git revert கட்டளை. முந்தைய கமிட் மூலம் அறிமுகப்படுத்தப்பட்ட மாற்றங்களைச் செயல்தவிர்க்கும் புதிய கமிட்டை உருவாக்க இந்தக் கட்டளை பயன்படுத்தப்படுகிறது. போலல்லாமல் git reset அல்லது git rebase, git revert ஏற்கனவே உள்ள உறுதி வரலாற்றை மாற்றாது, குறிப்பாக பகிரப்பட்ட களஞ்சியங்களில் மாற்றங்களைச் செயல்தவிர்ப்பதற்கான பாதுகாப்பான விருப்பமாக இது அமைகிறது. உதாரணமாக, ஒரு கமிட் ஒரு பிழையை அறிமுகப்படுத்தியிருந்தால், நீங்கள் பயன்படுத்தலாம் git revert [commit-hash] அந்த மாற்றங்களை நீக்கும் புதிய உறுதிமொழியை உருவாக்க. இது வரலாறு நேரியல் மற்றும் அப்படியே இருப்பதை உறுதி செய்கிறது, இது திட்ட வரலாற்றின் ஒத்துழைப்பிற்கும் ஒருமைப்பாட்டிற்கும் முக்கியமானது.

மற்றொரு மேம்பட்ட நுட்பத்தைப் பயன்படுத்துவது git cherry-pick கட்டளை, இது உங்கள் தற்போதைய கிளையில் குறிப்பிட்ட கமிட்களில் இருந்து மாற்றங்களைப் பயன்படுத்த அனுமதிக்கிறது. முழு கிளையையும் இணைக்காமல் வேறு கிளையிலிருந்து குறிப்பிட்ட அம்சங்கள் அல்லது திருத்தங்களை நீங்கள் கொண்டு வர வேண்டியிருக்கும் போது இது மிகவும் பயனுள்ளதாக இருக்கும். கட்டளை git cherry-pick [commit-hash] உங்கள் தற்போதைய கிளையில் குறிப்பிடப்பட்ட உறுதியிலிருந்து மாற்றங்களைச் செயல்படுத்தும். இந்த முறை சுத்தமான மற்றும் ஒழுங்கமைக்கப்பட்ட உறுதிமொழி வரலாற்றைப் பராமரிக்க உதவுகிறது, ஏனெனில் நீங்கள் மற்ற கிளைகளிலிருந்து தேவையற்ற கமிட்களைத் தவிர்த்து, தேவையான மாற்றங்களை மட்டுமே தேர்ந்தெடுக்க முடியும்.

Git கமிட் வரலாற்றை நிர்வகிப்பது குறித்து அடிக்கடி கேட்கப்படும் கேள்விகள்

  1. என்ன வித்தியாசம் git reset மற்றும் git revert?
  2. git reset ஹெட் பாயிண்டரை நகர்த்துவதன் மூலம் உறுதி வரலாற்றை மாற்றுகிறது git revert ஏற்கனவே உள்ள வரலாற்றை மாற்றாமல் முந்தைய கமிட்டின் மாற்றங்களை செயல்தவிர்க்கும் புதிய உறுதிமொழியை உருவாக்குகிறது.
  3. நான் எப்போது பயன்படுத்த வேண்டும் git rebase அதற்கு பதிலாக git merge?
  4. git rebase மற்றொரு கிளையிலிருந்து மாற்றங்களை ஒருங்கிணைத்து நேரியல் உறுதி வரலாற்றை உருவாக்க பயனுள்ளதாக இருக்கும் git merge கிளை வரலாற்றைப் பாதுகாக்கிறது.
  5. பகிரப்பட்ட கிளையிலிருந்து உறுதிப்பாட்டை எவ்வாறு பாதுகாப்பாக அகற்றுவது?
  6. பயன்படுத்தவும் git revert விரும்பத்தகாத உறுதிப்பாட்டிலிருந்து மாற்றங்களைச் செயல்தவிர்க்கும் புதிய உறுதிமொழியை உருவாக்க, வரலாறு அப்படியே இருப்பதையும், கூட்டுப் பணிக்கு இடையூறு ஏற்படாமல் இருப்பதையும் உறுதிசெய்தல்.
  7. இதன் நோக்கம் என்ன git reflog கட்டளையா?
  8. git reflog கிளைகள் மற்றும் பிற குறிப்புகளின் நுனியில் புதுப்பிப்புகளைப் பதிவுசெய்யப் பயன்படுகிறது, கிளை அல்லது குறிச்சொல் குறிப்புகள் மூலம் அணுக முடியாத கமிட்களை மீட்டெடுக்க உங்களை அனுமதிக்கிறது.
  9. Git இல் உறுதி செய்தியை நான் எவ்வாறு திருத்துவது?
  10. பயன்படுத்தவும் git commit --amend மிக சமீபத்திய உறுதி செய்தியை மாற்ற. முந்தைய கடமைகளுக்கு, பயன்படுத்தவும் git rebase -i ஊடாடும் மறுசீரமைப்பு அமர்வைத் தொடங்க.
  11. என்ன செய்கிறது --force செய்ய விருப்பம் git push?
  12. தி --force விருப்பமானது ரிமோட் ரிபோசிட்டரிக்கு அழுத்தம் கொடுக்கிறது, உள்ளூர் கிளையில் இல்லாத ரிமோட் கிளையில் ஏதேனும் மாற்றங்களை மேலெழுதுகிறது.
  13. ஐ நான் செயல்தவிர்க்க முடியுமா? git rebase?
  14. ஆம், நீங்கள் பயன்படுத்தலாம் git reflog முந்தைய HEAD குறிப்பைக் கண்டுபிடித்து பின்னர் பயன்படுத்தவும் git reset --hard [commit-hash] விரும்பிய நிலைக்குத் திரும்புவதற்கு.

கிட் கமிட் அகற்றும் நுட்பங்களை மூடுதல்

Git இல் பொறுப்புகளை நிர்வகிப்பது சிக்கலானதாக இருக்கலாம், ஆனால் சரியான கட்டளைகள் மற்றும் உத்திகள் மூலம், உங்கள் திட்ட வரலாற்றை திறம்பட கட்டுப்படுத்தலாம். சமீபத்திய உறுதிமொழியை விரைவாக நீக்க வேண்டுமா git reset --hard HEAD~1, அல்லது பயன்படுத்தி கமிட்களை தேர்ந்தெடுத்து நீக்கி திருத்தவும் git rebase -i, Git ஒவ்வொரு சூழ்நிலைக்கும் சக்திவாய்ந்த கருவிகளை வழங்குகிறது. உங்கள் திட்ட வரலாற்றின் ஒருமைப்பாட்டைப் பராமரிக்க, ஒவ்வொரு கட்டளையின் தாக்கங்களையும், குறிப்பாக பகிரப்பட்ட களஞ்சியங்களுடன் பணிபுரியும் போது, ​​நீங்கள் புரிந்துகொள்வதை எப்போதும் உறுதிசெய்யவும்.

Git கமிட் வரலாற்றை நிர்வகிப்பதற்கான இறுதி எண்ணங்கள்

போன்ற கட்டளைகளை மாஸ்டரிங் செய்வதன் மூலம் git reset, git rebase, மற்றும் git revert, உங்கள் Git கமிட் வரலாற்றின் மீது துல்லியமான கட்டுப்பாட்டைப் பெறுவீர்கள். ஒவ்வொரு முறையும் வெவ்வேறு நோக்கங்களுக்காக உதவுகிறது, எளிய செயல்தவிர்ப்பு செயல்பாடுகளிலிருந்து சிக்கலான வரலாற்றை மீண்டும் எழுதுவது வரை. சிறந்த ஒத்துழைப்பு மற்றும் திட்ட நிர்வாகத்தை எளிதாக்கும் வகையில், உங்கள் களஞ்சியத்தை சுத்தமாகவும், ஒழுங்கமைக்கப்பட்டதாகவும், துல்லியமாகவும் வைத்திருக்க இந்த கருவிகளை புத்திசாலித்தனமாகப் பயன்படுத்தவும்.