Git లాగ్‌తో ప్రాజెక్ట్ చరిత్రను ఎలా తనిఖీ చేయాలి

Git లాగ్‌తో ప్రాజెక్ట్ చరిత్రను ఎలా తనిఖీ చేయాలి

Git అందించే అత్యంత ప్రాథమిక సేవలలో ఒకటి ప్రాజెక్ట్ చరిత్ర. Git ఒక రిపోజిటరీలో చేసిన ఫైల్స్‌లోని అన్ని మార్పులను ట్రాక్ చేస్తుంది కాబట్టి, ఇది చాలా శక్తివంతమైన లాగింగ్ ఫీచర్లను అందిస్తుంది. మీరు ప్రాజెక్ట్ చరిత్రను అనేక విధాలుగా ప్రశ్నించవచ్చు మరియు మీరు ఒక సౌకర్యవంతమైన ఆదేశాన్ని ఉపయోగించి వివిధ డేటాను సంగ్రహించి ప్రదర్శించవచ్చు.





ది git లాగ్ కమాండ్ చాలా పెద్దది, ఏ సాధారణ Git కమాండ్‌కన్నా పెద్దది. దీని మాన్యువల్ 2,500 లైన్లకు పైగా ఉంది. అదృష్టవశాత్తూ, git లాగ్ కొన్ని కీలక ఎంపికల నుండి చాలా ఉపయోగకరమైన ప్రవర్తనను అందిస్తుంది.





డిఫాల్ట్ ప్రవర్తనతో ప్రాథమిక లాగింగ్

డిఫాల్ట్‌గా, git లాగ్ కమిట్‌ల రివర్స్-క్రోనోలాజికల్ జాబితాను చూపుతుంది. ప్రతి కమిట్ దాని హాష్, రచయిత, తేదీ మరియు కమిట్ సందేశాన్ని కలిగి ఉంటుంది:





పూర్తి అవుట్‌పుట్‌ను చూపించడానికి కమాండ్ ఒక పేజర్‌ను ఉపయోగిస్తుంది (ఉదా. తక్కువ, ఎక్కువ) కాబట్టి మీరు ఫలితాలను సులభంగా నావిగేట్ చేయవచ్చు. మీరు చాలా పేజర్ వంటి మీకు నచ్చిన ప్రోగ్రామ్‌ని ఉపయోగించడానికి Git ని కాన్ఫిగర్ చేయవచ్చు.

ఇక్కడ నుండి కొన్ని git లాగ్ అవుట్‌పుట్ ఉంది git సోర్స్ కోడ్ యొక్క రిపోజిటరీ స్వయంగా:



commit 670b81a890388c60b7032a4f5b879f2ece8c4558 (HEAD -> master, origin/next,
origin/master, origin/HEAD)
Author: Junio C Hamano
Date: Mon Jun 14 13:23:28 2021 +0900
The second batch
Signed-off-by: Junio C Hamano

కమిట్ హాష్‌తో ఫలితం మొదలవుతుంది ( 670 ...) ఆ కమిట్ వద్ద ప్రస్తుతం ఉన్న శాఖల జాబితా తరువాత ( తల -> మాస్టర్ , మొదలైనవి)

కోరిందకాయ పై 3 బి వర్సెస్ బి+

తరువాతి పంక్తి ఈ కమిట్ యొక్క రచయితను వివరిస్తుంది, వారి పేరు మరియు ఇమెయిల్ చిరునామాను ఇస్తుంది.





కమిట్ యొక్క పూర్తి తేదీ మరియు సమయం తదుపరి లైన్‌లో అనుసరించండి.

చివరగా, కమిట్ సందేశం యొక్క పూర్తి విషయాలు కనిపిస్తాయి. కమాండ్-లైన్ ఎంపికలతో git లాగ్ అందించే అన్నింటినీ మీరు నియంత్రించవచ్చు. రెండు ప్రధాన రకాల ఎంపికలు ఉన్నాయి:





  • ఫార్మాటింగ్, ఇది Git ప్రతి నిబద్ధతను ఎలా ప్రదర్శిస్తుందో నిర్వచిస్తుంది.
  • వడపోత, ఇది ఏది కట్టుబడి ఉందో నిర్వచిస్తుంది git లాగ్ కలిగి ఉంటుంది.

కమాండ్-లైన్ ఎంపికలతో పాటు, ఫైల్‌లు, కమిట్‌లు, శాఖలు లేదా ఇతర రకాల సూచనలను పేర్కొనే వాదనలను git లాగ్ అంగీకరిస్తుంది. ఇవి మరింత ఫిల్టరింగ్‌కు వర్తిస్తాయి.

Git లాగ్ అవుట్‌పుట్‌ను ఫార్మాట్ చేస్తోంది

సరళమైన సర్దుబాట్లలో ఒకటి --ఒక్క గీత చాలా క్లుప్త అవుట్‌పుట్‌ను ఉత్పత్తి చేసే ఎంపిక:

git log --oneline

లాగ్‌లోని ప్రతి పంక్తి ఇప్పుడు సంక్షిప్త కమిట్ హాష్ మరియు కమిట్ సందేశం యొక్క అంశాన్ని కలిగి ఉంది. ప్రాజెక్ట్ యొక్క ఇటీవలి కమిట్‌ల యొక్క అవలోకనాన్ని పొందడానికి ఇది ఒక అద్భుతమైన మార్గం:

దురదృష్టవశాత్తు, ఏ ఇతర సందర్భం లేకుండా, ఈ సమాచారం ఎల్లప్పుడూ అంత ఉపయోగకరంగా ఉండదు. ఇది ప్రాజెక్ట్ కోసం మీకు అస్పష్టమైన అనుభూతిని కలిగించవచ్చు, కానీ దీనికి తేదీలు మరియు రచయితలు మరియు ఫైళ్ల గురించి ఇతర ఉపయోగకరమైన సమాచారం లేదు.

బ్రాంచ్ గ్రాఫ్‌ను వీక్షించడం

ది --గ్రాఫ్ శాఖల మధ్య సంబంధాలను దృశ్యమానం చేయడానికి ఎంపిక మిమ్మల్ని అనుమతిస్తుంది. ఇది చాలా ప్రాథమికమైనది కానీ సంక్లిష్టమైన చరిత్రను అరికట్టడంలో సహాయపడుతుంది.

git log --oneline --graph

సంబంధిత: Git లో కొత్త శాఖను ఎలా సృష్టించాలి

అనుకూలీకరించిన ప్రెట్టీ అవుట్‌పుట్

దీనిని ఉపయోగించి వివరంగా పేర్కొనడం ద్వారా మీరు మరింత క్లిష్టమైన ఫార్మాటింగ్‌ను సాధించవచ్చు --చక్కని ఎంపిక. వాక్యనిర్మాణం చాలా సరళమైనది నుండి మరింత సంక్లిష్టంగా ఉంటుంది పూర్తి వివరాల కోసం మాన్యువల్‌ని సంప్రదించండి .

మొదటి ps4 ఎప్పుడు వచ్చింది
git log --pretty=short

తప్పనిసరిగా సమానంగా ఉంటుంది git లాగ్ తేదీ లేదా పూర్తి సందేశం లేకుండా:

git log --pretty=oneline

కు సమానం git log --online .

git log --pretty=fuller

చాలా వివరాలను కలిగి ఉంటుంది. ఇది సిద్ధాంతపరంగా విభిన్న వ్యక్తులుగా ఉండే రచయిత మరియు నిబద్ధతను కూడా వేరు చేస్తుంది:

తో ఫార్మాట్: వేరియంట్, వివిధ డేటా ద్వారా భర్తీ చేయబడిన ప్లేస్‌హోల్డర్‌లతో సహా మీకు కావలసిన కంటెంట్‌ని కలిగి ఉన్న స్ట్రింగ్‌ను మీరు సరఫరా చేయవచ్చు. కొన్ని ఉదాహరణ ప్లేస్‌హోల్డర్లు ఇక్కడ ఉన్నాయి:

  • %హెచ్ హాష్ కట్టుబడి
  • %గం సంక్షిప్త కమిట్ హాష్
  • %కు రచయిత తేదీ
  • %తో రచయిత తేదీ, బంధువు
  • %s కమిట్ మెసేజ్ సబ్జెక్ట్
  • % బి సందేశం శరీరం కట్టుబడి
  • %p సంక్షిప్త పేరెంట్ హాష్‌లు

మీరు అవుట్‌పుట్‌కు స్థిరమైన అక్షరాలను జోడించవచ్చు మరియు దానిని రంగు వేయవచ్చు. ఈ ఉదాహరణ తేదీ ఆకృతిలో ఒక వైవిధ్యాన్ని కూడా చూపుతుంది:

git log --pretty=format:'%C(auto) %h [%ad] %s' --date=short

బ్రాకెట్‌లు తేదీని చుట్టుముట్టాయని గమనించండి. మీరు ఏ ఫార్మాటింగ్‌ని ఎంచుకున్నా, అవుట్‌పుట్ పైప్‌లైన్‌లో లేదా ఇతర రకాల టెక్స్ట్ ప్రాసెసింగ్‌లకు ఉపయోగపడాలని మీరు కోరుకుంటే, అవుట్‌పుట్‌లోని ప్రతి భాగాన్ని ఎలా గుర్తించాలో మీరు ఆలోచించాలి.

లాగ్‌లో వ్యత్యాసాలను చూపుతోంది

రిపోజిటరీ చరిత్రను చూసేటప్పుడు ఒక ముఖ్యమైన వివరాలు వాటిలోని తేడాలు. వాస్తవానికి కోడ్‌లో ఏమి మార్చబడిందో వారు సూచిస్తారు! స్టార్టర్స్ కోసం, మీరు ఉపయోగించే ప్రతి కమిట్‌తో పాటు మార్పుల సారాంశాన్ని పొందవచ్చు -షార్ట్స్టాట్ :

git log --shortstat

ఇది ఇలాంటి పంక్తిని జోడిస్తుంది:

1 file changed, 48 insertions(+), 2 deletions(-)

ప్రతి కమిట్ దిగువన. మీరు తరచుగా ఈ రకమైన సారాంశాన్ని చూస్తారు -ఉదాహరణకు GitHub లోని పేజీలన్నింటిలో - మరియు ఇది ఒక నిర్దిష్ట కమిట్ యొక్క పరిధిని త్వరగా అంచనా వేయడానికి ఉపయోగకరమైన మార్గం. మరింత వివరణాత్మక సమాచారం కోసం, మీరు ఉపయోగించి పూర్తి ప్యాచ్ అవుట్‌పుట్ (తేడాలు) చేర్చవచ్చు -పి జెండా:

git log -p

Git లాగ్ అవుట్‌పుట్‌ను ఫిల్టర్ చేస్తోంది

మీరు ఏ ఫార్మాటింగ్‌ను వర్తింపజేసినా, ప్రస్తుత శాఖలోని అన్ని కమిట్‌ల పూర్తి లాగ్‌ను మీరు ఇప్పటికీ చూస్తారు. Git వాటిని పేజీలుగా విభజించినప్పటికీ, ఇది ఇప్పటికీ చాలా అవుట్‌పుట్ కావచ్చు. కింది ఎంపికలు లాగ్‌ని కలిగి ఉన్న వాటిని అనుకూలీకరించడానికి మిమ్మల్ని అనుమతిస్తాయి.

మొత్తం ద్వారా పరిమితం చేయడం

ఇటీవలి కొన్ని కమిట్‌లను చూపించడానికి మీరు ఫలితాలను ట్రిమ్ చేయాలనుకుంటే, దాన్ని ఉపయోగించండి -[సంఖ్య] వాక్యనిర్మాణం:

git log -2

తేదీ ద్వారా పరిమితం చేయడం

ఇచ్చిన తేదీ పరిధికి కమిట్‌ల సమితిని పరిమితం చేయడానికి, దీనిని ఉపయోగించండి -అప్పటి నుండి ( -తర్వాత ) మరియు --వరకు ( -ముందు ) ఎంపికలు. ఇవి ఒక్కొక్కటి ISO 8601 ఆకృతిలో తేదీని తీసుకుంటాయి. మీరు గాని ఉపయోగించవచ్చు -అప్పటి నుండి లేదా --వరకు సొంతంగా, లేదా రెండూ కలిసి ఒక పరిధిని పేర్కొనడానికి. ఎంపికలు -తర్వాత మరియు -ముందు పర్యాయపదాలు.

git log --since='2021-01-01' --until='2021-05-01'

ఫైల్ ద్వారా పరిమితం చేయడం

మీ రిపోజిటరీలోని ప్రతి ఫైల్ కంటే Git లాగ్ ఒక నిర్దిష్ట ఫైల్‌పై దృష్టి పెట్టగలదు. కాలక్రమేణా ఒక నిర్దిష్ట ఫైల్ ఎలా మారిందో తెలుసుకోవడానికి మీకు ఇది చాలా బాగుంది. మీ git కమాండ్ ముగింపుకు ఫైల్ పేరును జోడించండి:

git log filename

ప్రభావితం చేసిన కమిట్‌లను మాత్రమే మీరు చూస్తారు ఫైల్ పేరు .

శాఖల మధ్య తేడాలు

శాఖ యొక్క లాగ్‌ను చూసేటప్పుడు మీకు కొన్ని ప్రత్యేకమైన అవసరాలు ఉండవచ్చు. ఉదాహరణకు, మొత్తం చరిత్రను చూసే బదులు, ఆ నిర్దిష్ట శాఖలో ఏమి మారిందో మీరు చూడాలనుకోవచ్చు. Git లాగ్ ద్వారా సహాయపడుతుంది ref1..ref2 వాక్యనిర్మాణం. మీరు ఉపయోగించగల మూడు కొద్దిగా భిన్నమైన విధానాలు ఉన్నాయి:

  1. ప్రధానమైన, కానీ శాఖలో లేని కమిట్‌లను చూడండి: | _+_ |
  2. శాఖలో ఉన్న కమిట్‌లను చూడండి, కానీ ప్రధానమైనది కాదు: | _+_ |
  3. శాఖ లేదా ప్రధానంలో మాత్రమే ఉన్న కమిట్‌లను చూడండి: | _+_ |

రెండు ట్యాగ్‌ల మధ్య తేడాలు

మీరు బ్రాంచ్‌ల మధ్య చరిత్రను చూడవచ్చు ref1..ref2 వాక్యనిర్మాణం, మీరు ట్యాగ్‌ల మధ్య చరిత్రను కూడా అదే విధంగా చూడవచ్చు. అన్నింటికంటే, ట్యాగ్‌లు మరియు శాఖలు రెండూ రిఫరెన్స్ రకాలు.

git log --oneline origin/branch..origin/main

మీరు పెద్ద ప్రాజెక్ట్ కోసం విడుదల నోట్లను సిద్ధం చేస్తుంటే, git షార్ట్ లాగ్ మీ మొదటి పోర్ట్ కాల్ ఉండాలి. ఇది వారితో పాటు కమిట్ సబ్జెక్టులతో రచయితల జాబితాను రూపొందిస్తుంది. Git లాగ్‌కి ఇదే విధంగా చరిత్రను పరిమితం చేయడానికి మీరు ఒక రిఫరెన్స్ పరిధిని పాస్ చేయవచ్చు:

git log --oneline origin/ main ..origin/ branch

ది git షో ఆదేశం కంటే మరింత బహుముఖమైనది git లాగ్ . ఇది కమిట్ చరిత్రకు మించిన ట్యాగ్‌లు మరియు ఇతర రకాల git ఆబ్జెక్ట్‌లతో పని చేయవచ్చు. ఇది అనేక ఎంపికలను పంచుకుంటుంది git లాగ్ , కానీ మీరు దిగువ స్థాయి వివరాలను త్రవ్వవలసి వస్తే మాత్రమే మీకు ఇది నిజంగా అవసరం.

Git లాగ్‌తో గతాన్ని సమీక్షించండి

Git లాగ్ ఒక క్లిష్టమైన ఆదేశం, కానీ మీరు దాని ప్రాథమిక ఎంపికల నుండి చాలా ఉపయోగం పొందవచ్చు. ఒక రిపోజిటరీ చరిత్రను బ్రౌజ్ చేయడం అనేది ఎంత తరచుగా మార్పులు సంభవిస్తుందో మరియు ఎంత మంది వ్యక్తులు వాటిని తయారు చేస్తున్నారో అర్థం చేసుకోవడానికి ఒక అద్భుతమైన మార్గం. ప్రాజెక్ట్ చరిత్ర గురించి మీకు మంచి అవగాహన వచ్చిన తర్వాత, దానికి మీరే సహకరించే గొప్ప స్థితిలో ఉంటారు.

5 0 రేడియో పోలీస్ స్కానర్ android
షేర్ చేయండి షేర్ చేయండి ట్వీట్ ఇమెయిల్ సోషల్ కోడింగ్ ట్రెండ్‌లో చేరండి మరియు GitHub రిపోజిటరీలకు సహకరించండి

మీ కోడింగ్ కండరాలను వ్యాయామం చేయాలనుకుంటున్నారా మరియు ఓపెన్ సోర్స్ ప్రాజెక్ట్‌లకు సహాయం చేయాలనుకుంటున్నారా? GitHub కి ఎలా సహకరించాలో ఇక్కడ ఉంది.

తదుపరి చదవండి
సంబంధిత అంశాలు
  • ప్రోగ్రామింగ్
  • GitHub
  • కోడింగ్ చిట్కాలు
రచయిత గురుంచి బాబీ జాక్(58 కథనాలు ప్రచురించబడ్డాయి)

రెండు దశాబ్దాల పాటు సాఫ్ట్‌వేర్ డెవలపర్‌గా పనిచేసిన బాబీ ఒక టెక్నాలజీ astత్సాహికుడు. అతను గేమింగ్‌పై మక్కువ కలిగి, స్విచ్ ప్లేయర్ మ్యాగజైన్‌లో రివ్యూస్ ఎడిటర్‌గా పని చేస్తున్నాడు మరియు ఆన్‌లైన్ పబ్లిషింగ్ & వెబ్ డెవలప్‌మెంట్ యొక్క అన్ని అంశాలలో మునిగిపోయాడు.

బాబీ జాక్ నుండి మరిన్ని

మా వార్తాలేఖకు సభ్యత్వాన్ని పొందండి

టెక్ చిట్కాలు, సమీక్షలు, ఉచిత ఈబుక్‌లు మరియు ప్రత్యేకమైన డీల్స్ కోసం మా వార్తాలేఖలో చేరండి!

సభ్యత్వం పొందడానికి ఇక్కడ క్లిక్ చేయండి