git రీసెట్-మిక్స్డ్, -సాఫ్ట్ మరియు-హార్డ్ మధ్య తేడా ఏమిటి?

Git Riset Miksd Sapht Mariyu Hard Madhya Teda Emiti



Gitలో, ప్రతి కమిట్ మునుపటి కమిట్‌తో ముడిపడి ఉంటుంది మరియు HEAD పని చేసే శాఖలో ఇటీవలి కమిట్‌ని సూచిస్తుంది. కమిట్ చరిత్ర కట్టుబాట్ల చెట్టుగా భద్రపరచబడింది. అయితే, కొన్నిసార్లు డెవలపర్లు కమిట్ హిస్టరీని సవరించాల్సి ఉంటుంది. ఈ ప్రయోజనం కోసం, ' $ గిట్ రీసెట్ ” ఆదేశం Git రిపోజిటరీ చరిత్రను సవరించడానికి మరియు చేసిన తప్పులను పరిష్కరించడానికి ఉపయోగించబడుతుంది.

ఈ వ్యాసం git రీసెట్-హార్డ్, -సాఫ్ట్ మరియు-మిక్స్డ్ మధ్య వ్యత్యాసాన్ని క్లుప్తంగా వివరిస్తుంది.

git రీసెట్-మిక్స్డ్, -సాఫ్ట్ మరియు-హార్డ్ మధ్య తేడా ఏమిటి?

Git బహుళ రీసెట్ ఎంపికలను అందిస్తుంది. వారు కమిట్‌లను ఎలా నిర్వహిస్తారనే దాని ఆధారంగా, అందుబాటులో ఉన్న అన్ని ఎంపికలు ఒకదానికొకటి భిన్నంగా ఉంటాయి. అవన్నీ Git చరిత్రను సవరించి, HEADని వెనుకకు తరలిస్తాయి. అంతేకాకుండా, వారు మార్పులను విభిన్నంగా నిర్వహిస్తారు, అవి:







  • ది ' - మృదువైన ' ఎంపిక 'తో ఉపయోగించబడుతుంది $ గిట్ రీసెట్ ” ఫైల్‌లను ఉంచడానికి మరియు కమిట్ మార్పులను Git స్టేజింగ్ ఇండెక్స్‌కు తిరిగి ఇవ్వడానికి ఆదేశం.
  • ' $ git రీసెట్-మిక్స్డ్ ” కమిట్ మార్పులను అన్డు చేయడానికి మరియు ఫైల్‌ను వర్కింగ్ డైరెక్టరీ నుండి తొలగించకుండా స్టేజింగ్ ఇండెక్స్ నుండి తీసివేయడానికి ఉపయోగించబడుతుంది.
  • ది ' - హార్డ్ ''తో ఎంపిక $ గిట్ రీసెట్ ” ఆదేశం అన్ని మార్పులను తొలగించడానికి మరియు వాటిని స్థానిక పని డైరెక్టరీ నుండి తీసివేయడానికి ఉపయోగించబడుతుంది.

ఎలా ఉంటుందో చూడటానికి ఒక ఉదాహరణ తీసుకుందాం ' $ గిట్ రీసెట్ ” ఆదేశం వివిధ ఎంపికలతో పనిచేస్తుంది!



దశ 1: కావలసిన Git రిపోజిటరీకి వెళ్లండి

ముందుగా, “ని ఉపయోగించడం ద్వారా మీకు కావలసిన Git రిపోజిటరీకి తరలించండి cd ” ఆదేశం:



$ cd 'సి:\వెళ్ళు \t is_repo'





దశ 2: ఫైల్‌ని సృష్టించండి

ఇప్పుడు, ఫైల్‌ను సృష్టించడానికి దిగువ ఇచ్చిన ఆదేశాన్ని అమలు చేయండి:

$ స్పర్శ File4.txt



దశ 3: స్టేజింగ్ ఇండెక్స్‌కి ఫైల్‌ని జోడించండి

ఉపయోగించడానికి ' git add స్టేజింగ్ ఇండెక్స్‌లో కొత్తగా రూపొందించబడిన ఫైల్‌ను జోడించడానికి ఆదేశం:

$ git add File4.txt

దశ 4: మార్పులకు కట్టుబడి ఉండండి

తరువాత, 'ని అమలు చేయడం ద్వారా పని రిపోజిటరీకి అన్ని మార్పులను జోడించండి git కట్టుబడి ” ఆదేశం:

$ git కట్టుబడి -మీ 'ఫైల్ 4 జోడించబడింది'

దశ 5: Git లాగ్‌ని తనిఖీ చేయండి

ఆపై, జోడించిన తాజా కమిట్‌లను వీక్షించడానికి Git లాగ్ చరిత్రను తనిఖీ చేయండి:

$ git లాగ్

దిగువ అవుట్‌పుట్‌లో, అన్ని తాజా జోడించిన కమిట్‌లు ప్రదర్శించబడడాన్ని చూడవచ్చు మరియు “ తల ” ఇటీవలి నిబద్ధతను సూచిస్తోంది:

గమనిక: HEAD యొక్క ప్రస్తుత పాయింటింగ్ పొజిషన్‌ను మెరుగైన మార్గంలో తనిఖీ చేయడానికి, 'ని అమలు చేయండి git లాగ్ 'ఆదేశంతో పాటు' -ఒక్క గీత ' జెండా:

$ git లాగ్ --ఆన్‌లైన్

క్రింద ఇవ్వబడిన అవుట్‌పుట్ కమిట్ మెసేజ్‌లతో కూడిన కమిట్ SHA హాష్ జాబితాను చూపుతుంది:

దశ 6: git రీసెట్-సాఫ్ట్ కమాండ్ ఉపయోగించండి

జోడించిన మార్పులను Git రిపోజిటరీ నుండి స్టేజింగ్ ఇండెక్స్‌కు తిరిగి మార్చడానికి, “ని ఉపయోగించండి git రీసెట్ 'ఆదేశంతో పాటు '- మృదువైన ” ఎంపిక, మరియు పాయింటర్‌ను తరలించడానికి కావలసిన HEAD స్థానాన్ని పేర్కొనండి:

$ git రీసెట్ --మృదువైన తల ~ 1

దశ 7: Git స్థితిని తనిఖీ చేయండి

ఇప్పుడు, HEAD యొక్క రివర్టింగ్ స్థానాన్ని ధృవీకరించండి Git రిపోజిటరీ స్థితిని తనిఖీ చేయండి:

$ git స్థితి

ఇది చూడవచ్చు ' git రీసెట్ - సాఫ్ట్ ” ఆదేశం Git స్టేజింగ్ ఇండెక్స్‌కు కట్టుబడి మార్పులను తిరిగి అందించింది. అంతేకాకుండా, ' File4.txt ” ఫైల్ ఇప్పుడు Git స్టేజింగ్ ఇండెక్స్‌లో ఉంది మరియు కట్టుబడి ఉండాలి:

దశ 8: Git లాగ్‌ని తనిఖీ చేయండి

HEAD యొక్క ప్రస్తుత స్థితిని వీక్షించడానికి, ఇచ్చిన ఆదేశాన్ని “తో పాటు అమలు చేయండి -ఒక్క గీత ' ఎంపిక:

$ git లాగ్ --ఆన్‌లైన్

ఇక్కడ, HEAD సూచిస్తోంది ' ఫైల్3 ” కట్టుబడి:

దశ 9: git రీసెట్ ఉపయోగించండి — మిశ్రమ కమాండ్

కట్టుబడి ఉన్న మార్పులను రద్దు చేయడానికి మరియు వర్కింగ్ డైరెక్టరీ నుండి ఫైల్‌లను తొలగించకుండా స్టేజింగ్ ఏరియా నుండి తీసివేయడానికి, ' $ git రీసెట్-మిక్స్డ్ ” కమిట్ యొక్క అవసరమైన HEAD స్థానంతో పాటు కమాండ్:

$ git రీసెట్ --మిశ్రమ తల ~ 1

దశ 10: Git స్థితిని తనిఖీ చేయండి

Git రిపోజిటరీ స్థితిని తనిఖీ చేయడం ద్వారా కొత్తగా జోడించిన మార్పులను వీక్షించండి:

$ git స్థితి

పేర్కొన్న కమిట్ మార్పులు స్టేజింగ్ ప్రాంతం నుండి తీసివేయబడటం గమనించవచ్చు. అయినప్పటికీ, అవి పని ప్రదేశంలో ఉంచబడ్డాయి:

దశ 11: Git లాగ్‌ని తనిఖీ చేయండి

SHA హాష్‌తో పాటు Git రిపోజిటరీ రిఫరెన్స్ లాగ్ హిస్టరీని తనిఖీ చేయండి:

$ git లాగ్ --ఆన్‌లైన్

దశ 12: git రీసెట్ ఉపయోగించండి — హార్డ్ కమాండ్

Git లోకల్ వర్కింగ్ డైరెక్టరీ నుండి జోడించిన మార్పులను తీసివేయడానికి, “ని అమలు చేయండి $ git రీసెట్ - హార్డ్ ” ఆదేశం:

$ git రీసెట్ --కష్టం తల ~ 1

దశ 13: రివర్టెడ్ హెడ్ పాయింటర్‌ని ధృవీకరించండి

HEAD పాయింటర్‌ని ధృవీకరించడానికి, పేర్కొన్న స్థానానికి తిరిగి, 'ని అమలు చేయండి git లాగ్ ” ఆదేశం:

$ git లాగ్ --ఆన్‌లైన్

దిగువ అవుట్‌పుట్ HEAD 'ని సూచిస్తోందని చూపిస్తుంది ఫైల్1 జోడించబడింది ” కట్టుబడి:

దశ 14: Git స్థితిని తనిఖీ చేయండి

జోడించిన మార్పులను వీక్షించడానికి, Git స్థితిని తనిఖీ చేయండి:

$ git స్థితి

'' యొక్క ట్రాక్ మరియు పెండింగ్‌లో ఉన్న మార్పులు మా వద్ద లేవని చూడవచ్చు. File2.txt ” ఫైల్. కాబట్టి, File2.txt పూర్తిగా తీసివేయబడింది:

దశ 15: రిపోజిటరీ కంటెంట్ జాబితాను ధృవీకరించండి

కంటెంట్ యొక్క రిపోజిటరీ జాబితాను ధృవీకరించడానికి, 'ని అమలు చేయండి ls ” ఆదేశం:

$ ls

మీరు చూడగలిగినట్లుగా, ' File2.txt ” ఫైల్ ప్రస్తుత డైరెక్టరీలో లేదు:

మేము git రీసెట్-మిక్స్డ్, -సాఫ్ట్ మరియు -హార్డ్ ఎంపికల మధ్య వ్యత్యాసాన్ని వివరించాము.

ముగింపు

ది ' git రీసెట్ ” ఆదేశం మార్పులను రీసెట్ చేయడానికి, Git రిపోజిటరీ చరిత్రను సవరించడానికి మరియు తప్పులను సరిచేయడానికి ఉపయోగించబడుతుంది. ది ' git రీసెట్ - సాఫ్ట్ ” కమాండ్ ఫైల్‌లను ఉంచుతుంది మరియు Git స్టేజింగ్ ఏరియాకు కమిట్ మార్పులను అందిస్తుంది. దీనికి విరుద్ధంగా, ' git రీసెట్-మిక్స్డ్ ” కమాండ్ కమిట్ మార్పులను రద్దు చేయండి మరియు ఫైల్‌ను వర్కింగ్ డైరెక్టరీ నుండి తొలగించకుండా స్టేజింగ్ ఇండెక్స్ నుండి తీసివేయండి. అన్ని మార్పులను తొలగించడానికి మరియు వాటిని Git పని ప్రాంతం నుండి తీసివేయడానికి, ' git రీసెట్ - హార్డ్ ” ఆదేశాన్ని ఉపయోగించవచ్చు. ఈ వ్యాసం git రీసెట్-మిక్స్డ్, -సాఫ్ట్ మరియు-హార్డ్ మధ్య వ్యత్యాసాన్ని వివరించింది.