பொதுவான ஜிட் தவறுகள் என்ன, அவற்றை எவ்வாறு சரிசெய்வது?



கிட் பதிப்பக முறைமை கருவியில் உங்கள் குறியீட்டை பதிப்பு செய்யும் போது மிகவும் பொதுவான தவறுகளைச் செயல்தவிர்க்கவும், உங்கள் தரவு ஒருமைப்பாட்டைப் பாதுகாக்கவும்.

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

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





குறியீட்டிலிருந்து கட்டம் இல்லாத கோப்புகள் / கோப்பகங்கள்

கோப்புகளைச் சேர்க்கும்போது மற்றும் / அல்லது மாற்றியமைக்கும்போது, ​​நீங்கள் பெரும்பாலும் ‘கிட் சேர்’ கட்டளையின் இயல்புநிலை நடத்தையைப் பயன்படுத்த முனைகிறீர்கள், அதாவது எல்லா கோப்புகளையும் கோப்பகங்களையும் குறியீட்டில் சேர்க்க வேண்டும்.சில கோப்புகளை நிலைநிறுத்த வேண்டிய அவசியத்தை நீங்கள் உணர்கிறீர்கள் அல்லது அவற்றைச் செய்வதற்கு முன் கடைசியாக அவற்றை மாற்ற வேண்டும்.



தொடரியல்: git மீட்டமைப்பு


குறியீட்டிலிருந்து கோப்புகளை அகற்று - பொதுவான கிட் தவறுகள் -எடுரேகா

குறியீட்டு பகுதியிலிருந்து கோப்புகளை அன்-ஸ்டேஜிங் செய்வது உள்ளூர் ரெப்போவில் ஈடுபடுவதற்கு முன்பு உங்கள் தரவை மீண்டும் வேலை செய்வதற்கான மற்றொரு வாய்ப்பை வழங்குகிறது.



கடைசியாக உறுதிப்படுத்தப்பட்ட செய்தியைத் திருத்தவும்

கட்டளை: git commit --amend
புதிய ஒன்றை உருவாக்காமல் சமீபத்திய உறுதி செய்தியை நீங்கள் திருத்தலாம். கமிட் பதிவுகளை பட்டியலிட, நான் ஒரு மாற்று ‘ஹிஸ்ட்’ அமைத்துள்ளேன்:
கட்டளை: git config --global alias.hist 'log --pretty = format: '% C (மஞ்சள்)% h% Creset% ad | % C (பச்சை)% s% Creset% C (சிவப்பு)% d% Creset% C (நீலம்) [% an] '--graph --decorate --date = short'x


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

கடைசி உறுதிப்பாட்டில் சில மாற்றங்களை மறந்துவிட்டேன்

நீங்கள் சில மாற்றங்களைச் செய்ய மறந்துவிட்டீர்கள், ஏற்கனவே உங்கள் ஸ்னாப்ஷாட்டைச் செய்துள்ளீர்கள், உங்கள் தவறை முன்னிலைப்படுத்த மற்றொரு உறுதிப்பாட்டைச் செய்ய நீங்கள் விரும்பவில்லை.
கட்டளை: git commit --amend


சமீபத்திய கமிட் பொருளின் ஷா -1 ஐடி எவ்வாறு மீண்டும் உருவாக்கப்பட்டது மற்றும் மாற்றப்பட்டது என்பதை நான் எடுத்துக்காட்டுகிறேன். இரண்டு மாற்றங்களையும் ஒன்றிணைக்கும் ஒற்றை உறுதிப்பாட்டை நான் செய்ததாக நடித்துள்ளேன்.

உள்ளூர் மாற்றங்களை நிராகரிக்கவும்

எனவே, நான் ‘README’ கோப்பை மாற்றியமைத்து அதை அரங்கேற்றிய ஒரு நிகழ்வு இங்கே. அடுத்து, அதே கோப்பை இரண்டாவது முறையாக மாற்றியமைத்தேன், ஆனால் இரண்டாவது மாற்றத்தை நான் விரும்பவில்லை என்பதை உணர்ந்தேன்.

இப்போது, ​​முழு மாற்றத்தையும் கைமுறையாக செயல்தவிர்க்க விடமாட்டேன், கோப்பின் நிலை பதிப்பை நான் இழுக்க முடியும்.
தொடரியல்:
git checkout -ஒரு கோப்பில் உள்ளூர் மாற்றங்கள்
git checkout -கோப்பகத்தில் உள்ள அனைத்து கோப்புகளிலும் உள்ளூர் மாற்றங்கள் & வெட்கம் & வெட்கம்

கட்டளை: git checkout - README

எனவே, கோப்பில் எனது கடைசி மாற்றங்களை நிராகரித்தேன் மற்றும் கோப்பின் நிலை பதிப்பை ஏற்றுக்கொண்டேன். அடுத்த உறுதிப்பாட்டில், கோப்பின் நிலை பதிப்பு உள்ளூர் களஞ்சியத்தில் செல்கிறது.

உள்ளூர் களஞ்சியத்திற்கு தனிப்பட்ட தரவை வழங்கியது

உள்ளூர் களஞ்சியத்திலிருந்து சில தரவை அகற்ற விரும்புகிறேன், ஆனால் கோப்புகளை பணி அடைவில் வைக்க விரும்புகிறேன்.
தொடரியல்:
git மீட்டமை - கலந்த HEAD ~
git reset - கலப்பு

கட்டளை: git மீட்டமை - கலந்த HEAD ~ 1
தற்போதைய கிளை HEAD சுட்டிக்காட்டிய சமீபத்திய உறுதிப்பாட்டிற்கு சற்று முன்னதாக HEAD ~ 1 ஒரு உறுதிப்பாட்டைக் குறிக்கிறது.

தற்போதைய ஸ்னாப்ஷாட்டில் உள்ள கோப்புகள் உள்ளூர் களஞ்சியம் மற்றும் நிலை பகுதி இரண்டிலிருந்தும் அகற்றப்பட்டன. உலகளாவிய .gitignore கோப்பில் பின்வரும் வடிவங்களைச் சேர்க்கவும், அவை கிட் மூலம் கண்காணிக்கப்படுவதைத் தவிர்க்கவும்.
vim ~ / .gitignore_global
# கடவுச்சொல் கோப்புகள் #
* .பாஸ்
* .கீ
* .passwd

இதன் மூலம், கடவுச்சொல் கோப்புகளின் ஸ்னாப்ஷாட்டைக் கொண்டிருந்த கமிட் அகற்றப்பட்டு, நீங்கள் ஒரு சுத்தமான ஸ்டேஜிங் பகுதியைப் பெறுவீர்கள். எனது கோப்புகள் எனது பணி அடைவில் இன்னும் உள்ளன, ஆனால் உள்ளூர் களஞ்சியத்தில் இனி இல்லை, தொலை களஞ்சியத்தில் தள்ளப்படாது.

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

சமீபத்திய உறுதிப்பாட்டை புதிய உறுதிப்பாட்டுடன் மாற்றவும்

தொடரியல்: git reset --soft [/ HEAD ~ n>]

‘-சாஃப்ட்’ விருப்பம் உள்ளூர் களஞ்சியத்திலிருந்து குறியீட்டில் அரங்கேற்றப்படும்போது அவற்றை நீக்குகிறது, மேலும் அவற்றை மறுஆய்வுக்குப் பிறகு மீண்டும் செய்ய முடியும். உள்ளூர் ரெப்போவிலிருந்து நீங்கள் அகற்ற விரும்பும் ஸ்னாப்ஷாட்டின் ஷா -1 ஆகும். இங்கே n என்பது HEAD செய்வதற்கு முன் செய்ய வேண்டிய எண்ணிக்கை

கட்டளை :git reset --soft HEAD ~ 1


கோப்புகளை மாற்றி அவற்றை மீண்டும் நிலைநிறுத்துங்கள்

கட்டளை: git commit -m 'index.html மற்றும் style.css ஐச் சேர்த்தல்'
உங்கள் உறுதிப்பாட்டு வரலாறு இப்போது மாறிவிடும்:

தவறான தரவைச் செய்தார்

தொடரியல்:
git reset --hard HEAD ~ nசமீபத்திய உறுதிப்பாட்டு ஸ்னாப்ஷாட்டுக்கு முன் திட்டத்தை ‘என்’ செய்ய மீட்டமைக்கவும்
git reset --hardகொடுக்கப்பட்ட கமிட் ஐடி ஸ்னாப்ஷாட்டுக்கு திட்டத்தை மீட்டமைக்கவும்

கட்டளை: git reset --hard HEAD ~ 1


சமீபத்திய கமிட் மற்றும் சிதைந்த கோப்புகள் உள்ளூர் களஞ்சியம், நிலை பகுதி மற்றும் வேலை செய்யும் கோப்பகத்திலிருந்து அகற்றப்படுகின்றன.

பெரிய தரவு பகுப்பாய்வுகளின் பயன்பாடு

எச்சரிக்கை: நீங்கள் பணிபுரியும் கோப்பகத்தில் கோப்புகளை இழக்க நேரிடும் போது இது ஒரு ஆபத்தான கட்டளை. தொலைவிலிருந்து பகிரப்பட்ட களஞ்சியத்தில் பரிந்துரைக்கப்படவில்லை.

எனது பழைய திட்ட நிலைக்குத் திரும்புக

கால வரலாற்றில் உங்கள் திட்டத்தின் பழைய நிலைக்கு நீங்கள் செல்லலாம். நீங்கள் சமீபத்திய பதிப்பில் குழப்பம் விளைவித்தால் அல்லது பழைய குறியீட்டில் மேம்பாடுகள் தேவைப்பட்டால், உங்கள் தற்போதைய வேலைக்கு இடையூறு ஏற்படாமல் இருக்க அந்த பழைய திட்ட ஸ்னாப்ஷாட்டில் இருந்து மற்றொரு கிளையை உருவாக்க நீங்கள் விரும்பலாம். எப்படி என்று பார்ப்போம்:
a. திட்ட வரலாற்றை பட்டியலிட்டு, பழைய கமிட் ஐடியை முடிவு செய்யுங்கள், கட்டளை:go ஹிஸ்ட்
b. கமிட் ஐடியிலிருந்து மற்றொரு கிளையை உருவாக்கவும்:git checkout -b old-state e7aa9a5
c. குறியீட்டில் தொடர்ந்து பணியாற்றவும், பின்னர் ‘மாஸ்டர்’ கிளையுடன் ஒன்றிணைக்கவும் / மறுதொடக்கம் செய்யவும்.

நீக்கப்பட்ட உள்ளூர் கிளையை மீட்டெடுக்கவும்

ஒரு குறிப்பு கிளையில் இழந்த வேலையை மீண்டும் உருவாக்க முடியும். சொல்லுங்கள், பிரதான கிளையுடன் ஒன்றிணைக்காமல் ‘ஓல்ட்_கோட்’ கிளையை நீக்கிவிட்டு வேலையை இழந்தேன். இல்லை, நான் கிளையை தொலை களஞ்சியத்திற்கு தள்ளவில்லை, பிறகு என்ன? ஒவ்வொரு குறிப்பிலும் செய்யப்படும் அனைத்து மாற்றங்களுக்கும் ஒரு ஜர்னல் பதிவை வைத்திருங்கள், என்னுடையதைப் பார்ப்போம்:சென்று மறுபரிசீலனை செய்யுங்கள்

எனவே, நான் ‘பழைய_கோடு’ கிளைக்குச் சென்றபோது HEAD @ {2 the சுட்டிக்காட்டி, அதை மீட்டெடுப்போம்:

தொடரியல்:git checkout -b
கட்டளை:git checkout -b old_code HEAD @ {2}

நீங்கள் உருவாக்கிய நேரத்தில் உங்கள் சமீபத்திய படைப்புகளுடன் இப்போது 'ஓல்ட்_கோட்' கிளையில் இருக்க வேண்டும். கூடுதலாக, HEAD {{1 at இல் உள்ள 'ரிஃப்லாக்' சுட்டிக்காட்டி 'ஓல்ட்_கோட்' கிளையில் சமீபத்தில் செய்யப்பட்ட உறுதிப்பாடாகும். இந்த தனித்துவத்தை மீட்டெடுக்க கட்டளையை இவ்வாறு இயக்கவும்:git reset --hard HEAD @ {1}.இது பணி அடைவில் மாற்றியமைக்கப்பட்ட கோப்புகளையும் மீட்டமைக்கிறது.

இந்த கட்டளை எவ்வாறு செயல்படுகிறது மற்றும் ‘ரிஃப்லாக்’ உள்ளீடுகளை எவ்வாறு நிர்வகிக்க முடியும் என்பதை நீங்கள் விரிவாக அறிய விரும்பினால், எனது முந்தைய இடுகையும் நீங்கள் படிக்கலாம்Git reflog இலிருந்து நீக்கப்பட்ட கிளையை மீட்டெடுக்கிறது.

ஒரு உறுதிப்பாட்டில் செய்யப்பட்ட மாற்றங்களைச் செயல்தவிர்

போமாற்றியமைக்கவும்சில முந்தைய கமிட்டுகளின் விளைவை மாற்றியமைக்க சில புதிய கமிட்டுகளை பதிவு செய்ய பயன்படுத்தப்படுகிறது.
தொடரியல்: git revert
எனது கமிட் பதிவுகளிலிருந்து, தனிப்படுத்தப்பட்ட கமிட் ஐடியில் செய்யப்பட்ட மாற்றத்தை மாற்றியமைக்க விரும்புகிறேன்:

கட்டளை: git revert 827bc0d

பகிர்ந்த கமிட்டுகளை நீங்கள் '-ஹார்ட்' மீட்டமைக்காதது நல்லது, மாறாக வரலாற்றைப் பாதுகாக்க அவற்றை 'கிட் ரிவர்ட்' செய்வதன் மூலம், வரலாறு பதிவுகளைக் கண்டுபிடிப்பது அனைவருக்கும் எளிதாகிறது, மாற்றியமைக்கப்பட்டதைக் கண்டுபிடிக்க, யாரால்? மேலும் ஏன்?

HEAD ~ 3 அல்லது HEAD ~ 4 மற்றும் பலவற்றில் உள்ளதைப் போல, கமிட் ஐடியைக் கொடுப்பதற்குப் பதிலாக, HEAD சுட்டிக்காட்டி தொடர்பான கமிட்டுகளைக் குறிப்பிடுவதற்கான அதே தர்க்கத்தைப் பயன்படுத்தலாம்.

எனது கிளைக்கு தவறான பெயரைக் கொடுத்தார்

நீங்கள் உள்ளூர் கிளை பெயரை மறுபெயரிடலாம். உங்கள் எல்லா வேலைகளையும் ஒரு இடத்திலிருந்து இன்னொரு இடத்திற்கு மாற்றுவதற்கான வேதனையை சந்திக்காமல் நீங்கள் பணிபுரியும் பிரச்சினையின் அடிப்படையில் உங்கள் கிளையின் மறுபெயரிட விரும்பலாம். உதாரணமாக, நீங்கள் ஒரே கிளையில் அல்லது வேறு கிளையில் இருக்கக்கூடும், மேலும் கீழே காட்டப்பட்டுள்ளபடி விரும்பிய கிளையின் மறுபெயரிட முடியும்:
தொடரியல்: git branch -m
கட்டளை: git branch -m old_code old_ # 4920

இந்த மறுபெயரின் ஒரு பாதையை கிட் வைத்திருக்கிறதா என்று நீங்கள் ஆச்சரியப்படுவீர்களா? ஆம், இது உங்கள் ‘ரிஃப்லாக்’ உள்ளீடுகளைக் குறிக்கிறது, இங்கே என்னுடையது:

ஒரு கிளையை மறுபெயரிடுவது அதன் தொலைநிலை கண்காணிப்பு கிளையை பாதிக்காது. தொலை களஞ்சியத்தில் ஒரு கிளையை எவ்வாறு மாற்றுவது என்பதை தொலை பிரிவில் பார்ப்போம்

தொலைவுக்கு தள்ளுவதற்கு முன் வரலாற்று பதிவுகளை மீண்டும் ஒழுங்கமைக்கவும்

நான் மற்றவர்களை விட சில குறிப்பிட்ட செயல்களைச் செய்திருப்பேன், சில செயல்களைச் செய்திருக்க மாட்டேன். குறியீட்டை திறம்பட சரிசெய்ய அல்லது மேம்படுத்த பழைய கமிட்டுகளை ஊடாடும் வகையில் மீண்டும் ஏற்பாடு செய்து திருத்தவும்
தொடரியல்: git rebase -i
கட்டளை: git rebase -i fb0a90eகமிட்-ஐடி fb0a90e க்குப் பிறகு செய்யப்பட்ட கமிட்ஸை மறுதொடக்கம் செய்யுங்கள்

மீண்டும் பார்வையிடவும் git rebase ஒரு வழக்கமான மறுபயன்பாட்டிலிருந்து ‘–இன்டராக்டிவ் அல்லது -ஐ’ மறுதொடக்கம் எவ்வாறு வேறுபடுகிறது என்பதைப் புரிந்துகொள்வதற்கான ஆவணங்கள்.

தொடர்பில்லாத மாற்றங்களை ஒற்றை உறுதிப்பாட்டில் செய்துள்ளார்

இந்த வழக்கில், பழைய புதைக்கப்பட்ட உறுதிப்பாட்டை பல தர்க்கரீதியான செயல்களாகப் பிரிக்க வேண்டும்.
தொடரியல்: git rebase -i
கட்டளை: git rebase -i fb0a90e
மறுதொடக்க எடிட்டரில், நீங்கள் e7aa9a5 கமிட் ஐடியைத் தேர்ந்தெடுத்து அதை ‘தேர்வு’ என்பதற்கு பதிலாக ‘திருத்து’ என்று மாற்ற வேண்டும்.

தொடர்பில்லாத மாற்றங்கள் - பொதுவான கிட் தவறுகள் -எடுரேகா

நீங்கள் இப்போது திட்டத்தின் ஐடி- e7aa9a5 இன் பதிப்பில் இருப்பீர்கள். முதலில், கமிட் வரலாறு மற்றும் ஸ்டேஜிங் பகுதியை முந்தைய கமிட்-கட்டளைக்கு மீட்டமைக்கவும்:git மீட்டமை HEAD ~ 1
இரண்டாவதாக, திருத்து + நிலை + கோப்புகளை தனித்தனியாக செய்யுங்கள்
கட்டளைகள்:
git add code && git commit -m 'ஆரம்ப குறியீடுகளைச் சேர்த்தல்'
git newcode && git commit -m 'புதிய குறியீட்டைச் சேர்ப்பது'

மூன்றாவதாக, மறுவாழ்வு மற்றும் முடிவைத் தொடரவும்.

கட்டளை :git rebase - தொடரவும்
நான்காவதாக, கூடுதல் கமிட்டுகளுடன் வரலாற்றைக் காண்க.

கட்டளை: go ஹிஸ்ட்

மறுபயன்பாட்டைப் பயன்படுத்தி பலவற்றில் பிரித்தல் - பொதுவான கிட் தவறுகள் - எடுரேகா

அனைத்து கிளைகளிலும் உள்ள அனைத்து கமிட்டுகளிலும் ஆசிரியர்-மின்னஞ்சலை மாற்றவும்

நான் நீண்ட காலமாக எனது திட்டக் கோப்புகளை ஜிட்டில் பதிப்பு செய்து வருகிறேன், ஆனால் தொலைதூர களஞ்சியங்களில் கூட வெளியிடப்பட்ட எனது உறுதி வரலாற்று பதிவுகளில் எனது மின்னஞ்சல் ஐடி சமரசம் செய்யப்பட்டது என்று இப்போது வரை என்னைத் தாக்கவில்லை. சரி, நீங்கள் ஆரம்பத்தில் “.gitconfig” கோப்பில் உள்ளமைவுகளை அமைக்கும் போது இது யாருக்கும் ஏற்படலாம். எனது நிவாரண ஜிட்டிற்கு முடியும் மீண்டும் எழுத ஒரு உறுதியான பொருளை உருவாக்கும்போது நாம் வழங்கும் சூழல் மாறிகள்.

முதலில் நான் பட்டியலைப் பெறுகிறேன் மின்னஞ்சல் ஐடிகள் நான் மாற்ற விரும்பும் நபர்களை தீர்மானிக்க:
கட்டளை: git log --all --pretty = வடிவம்: '% an% d'-இது ஆசிரியர்-பெயரை அச்சிடுகிறது (மறுபெயரிடு / கிளை-பெயர்)

இரண்டாவது, நான் ஓடுகிறேன் ஒவ்வொரு கிளையிலும் ஒவ்வொரு உறுதி புதிய மின்னஞ்சல் ஐடியுடன் கமிட் பொருளை மீண்டும் எழுதவும்
கட்டளை:
git filter-branch --env-filter '
['$ GIT_AUTHOR_NAME' = 'திவ்யா'] என்றால்
பிறகு
GIT_AUTHOR_EMAIL = 'divya@github.com'
இரு
'- - எல்லாம்

கோப்புகளை இழந்து கண்டுபிடித்தது

நீங்கள் ஒரு குறிப்பிட்ட கோப்பை இழந்துவிட்டீர்கள், அதன் பெயர் உங்களுக்கு நினைவில் இல்லை என்று வைத்துக்கொள்வோம், ஆனால் கோப்பில் சில சொற்களை நினைவுபடுத்தலாம். இந்த வழக்கில், நீங்கள் இந்த வழிமுறைகளைப் பின்பற்றலாம்-
படி 1: தேடப்பட்ட வடிவத்துடன் கோப்பு ஸ்னாப்ஷாட்டைக் கொண்டிருக்கும் அனைத்து கமிட்டுகளையும் பட்டியலிடுங்கள்
கட்டளை :git rev-list --all | xargs git grep -i 'நேர முத்திரை'



படி 2 : இந்த சிறப்பம்சமாக அமைக்கப்பட்ட ஐடியிலிருந்து ஒரு புதிய கிளையை ‘தொலைந்து போனது’ உருவாக்கவும்
தொடரியல்: git checkout -b lost-found d8c6a76a6dcb1fc6e8c3f6b097e1bd07e7cd328f

எனது கிமிட்-ஐடி எந்த கிளையில் உள்ளது என்பதை மறந்துவிட்டேன்

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

எனது வழிசெலுத்தல் கட்டிட பயன்பாட்டில் ஒரு மோசமான உறுதி ஒரு முறை குறியீட்டை உடைத்தது, நான் அதைப் பயன்படுத்தும்போது மோசமான கமிட் ஐடியைக் கண்டறிய ‘git bisect’ கட்டளை தொடர்ந்துகட்டளை:git கிளை - கொண்டுள்ளதுஅந்த மோசமான உறுதிப்பாட்டுடன் கிளைகளை பட்டியலிட.

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

வரலாற்றிலிருந்து ஒரு உறுதிப்பாட்டை நீக்கு

சில நேரங்களில் வரலாற்றிலிருந்து ஒரு உறுதிப்பாட்டைத் துடைக்க வேண்டிய அவசியத்தை நான் உணர்கிறேன். பகிரப்பட்ட கிளையில் இந்த ஸ்டண்டை முயற்சிக்க நான் உங்களுக்கு பரிந்துரைக்க மாட்டேன், ஆனால் உங்கள் உள்ளூர் கிளையில் மட்டுமே.
தொடரியல்: git rebase -i
கட்டளை :git rebase -i 93859d8
மறுதொடக்கம் எடிட்டரில்-> சிறப்பம்சமாக கமிட் ஐடிக்கு ‘திருத்து’ என்பதை ‘துளி’ என்று மாற்றவும்: 69f4813

சில சந்தர்ப்பங்களில், இந்த மறு எழுதுதல் மோதல்களுக்கு வழிவகுக்கும். நீங்கள் மோதல்களைத் தீர்க்க வேண்டும், பின்னர் மேலும் தொடரவும்.

எச்சரிக்கை : இது வரலாற்றை மீண்டும் எழுதுவதால் இது ஒரு ஆபத்தான கட்டளையாகும், மேலும் தரவை இழக்கக்கூடும். ஒரு கிளை அதன் தொலைதூர எண்ணிலிருந்து வேறுபடுகிறது மற்றும் அதனுடன் தள்ளப்பட வேண்டும்--forceஅல்லது--force-with-leaseவிருப்பம்.

தவறான கிளையை தொலைதூரத்திற்கு தள்ளியது

இப்போது, ​​இங்கே நான் என்ன செய்ய விரும்புகிறேன்- நான் ஒரு நீக்க விரும்புகிறேன் தொலை கிளை எனது உள்ளூர் கிளையிலிருந்து அதைக் கண்காணிப்பதை நிறுத்துங்கள். ’git pushஉடன் பயன்படுத்தும் போது ‘கட்டளை--அழிவிருப்பம் தொலை கிளையை நீக்குகிறது எனவே, குளோன் செய்யப்பட்ட திட்டத்தின் உள்ளூர் நகலை நான் பெறுவது இதுதான் -

git clone https://github.com/greets/myProj.git
cd myProj


ஒருமுறை, தொலை கிளை நீக்கப்பட்டால், பகிரப்பட்ட ரெப்போவில் உள்ள மற்றவர்கள் தங்கள் தொலைநிலை குறிப்புகளை புதுப்பித்து புதுப்பிக்க வேண்டும்- ப்ரூன்விடுபட்ட பொருள் குறிப்புகளை நீக்க விருப்பம்:git fetch --prune -v தோற்றம்

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

பொதுவான ஜிட் தவறுகளை இப்போது நீங்கள் புரிந்து கொண்டீர்கள், இதைப் பாருங்கள் உலகெங்கிலும் பரவியுள்ள 250,000 க்கும் மேற்பட்ட திருப்தியான கற்றவர்களின் வலைப்பின்னலுடன் நம்பகமான ஆன்லைன் கற்றல் நிறுவனமான எடுரேகாவால். எஸ்.டி.எல்.சியில் பல படிகளை தானியக்கமாக்குவதற்கான பாவெட், ஜென்கின்ஸ், நாகியோஸ், அன்சிபில், செஃப், சால்ட்ஸ்டாக் மற்றும் ஜி.ஐ.டி போன்ற பல்வேறு டெவொப்ஸ் செயல்முறைகள் மற்றும் கருவிகளில் நிபுணத்துவம் பெற டெவொப்ஸ் என்ன என்பதைப் புரிந்துகொள்வதற்கும், எடுரேகா டெவொப்ஸ் சான்றிதழ் பயிற்சி பாடநெறி கற்பவர்களுக்கு உதவுகிறது.

எங்களுக்கு ஒரு கேள்வி கிடைத்ததா? இந்த 'பொதுவான கிட் தவறுகளின்' கருத்துகள் பிரிவில் இதைக் குறிப்பிடவும், நாங்கள் உங்களிடம் திரும்புவோம்