"ఈరోజు నేను మీకు రెండు అత్యంత ప్రజాదరణ పొందిన వెర్షన్ కంట్రోల్ ప్రోగ్రామ్‌ల గురించి చెప్పబోతున్నాను: SVN మరియు Git."

"గత పాఠంలో నేను వివరించిన విధంగానే SVN పని చేస్తుంది. Git కొంచెం క్లిష్టంగా ఉంది మరియు నేను దానిని మరింత వివరంగా చర్చించాలనుకుంటున్నాను."

"మీరు నాకు SVN మరియు Git కోసం డాక్యుమెంటేషన్‌కి లింక్‌లు ఇవ్వగలరా?"

"అయితే, ఒక్క సెకను."

http://svnbook.red-bean.com/en/1.7/svn-book.html

https://githowto.com  (ఇది కేవలం ఒక కళాఖండం)

"కాబట్టి, Git ."

"ఇది SVN కంటే కొంచెం క్లిష్టంగా ఉంటుంది.  Gitతో, ప్రతి వినియోగదారు సర్వర్ రిపోజిటరీతో పాటు అతని లేదా ఆమె స్వంత స్థానిక రిపోజిటరీని కలిగి ఉంటారు. "

"కాబట్టి మీరు ఎక్కడ కట్టుబడి ఉన్నారు?"

"వినియోగదారులు ఎల్లప్పుడూ వారి స్థానిక రిపోజిటరీకి కట్టుబడి ఉంటారు."

"అయితే సర్వర్ రిపోజిటరీ గురించి ఏమిటి?"

"లోకల్ మరియు సర్వర్ రిపోజిటరీలను సమకాలీకరించడానికి, ప్రత్యేక పుల్ మరియు పుష్ ఆదేశాలు ఉన్నాయి .

"దీనికి ఒక కారణం ఉంది. కొన్నిసార్లు ప్రోగ్రామర్ తన స్వంత భాగంగా చాలా పని చేయాల్సి ఉంటుంది, ఇది షేర్డ్ రిపోజిటరీకి జోడించబడటానికి ముందు అనేక వందల కమిట్‌లను కలిగి ఉండవచ్చు."

"SVNలో దీన్ని చేయడానికి, మీరు ఒక ప్రత్యేక శాఖను ప్రారంభించాలి, ఆపై దానిని ట్రంక్‌తో విలీనం చేయాలి."

"Gitతో, మీరు ఎల్లప్పుడూ స్థానిక రిపోజిటరీకి కట్టుబడి ఉంటారు, ఆపై మీరు పూర్తి చేసిన తర్వాత అన్ని మార్పులను సర్వర్‌లోని సెంట్రల్ రిపోజిటరీకి బ్యాచ్‌గా పంపండి."

"మీరు ఒక చిన్న కోడ్‌ను మాత్రమే వ్రాసేటప్పుడు ఈ పద్ధతి కొంచెం ఎక్కువగా అనిపించవచ్చు. కానీ మీ పనులు చాలా పెద్దవిగా ఉన్నప్పుడు అవి వారాలపాటు సాగుతాయి, అప్పుడు మీరు ఆ మొత్తం సమయాన్ని కమిట్ చేయకుండా వ్రాయలేరని మీరు అర్థం చేసుకుంటారు."

"మీరు కేవలం రెండు వారాల పాటు ఎందుకు పని చేయలేరు, ఆపై మీ మార్పులను సర్వర్‌కు ఒకసారి చేయలేరు?"

"సరే, సంస్కరణ నియంత్రణ ప్రోగ్రామ్ చాలా సౌకర్యాలను అందిస్తుంది."

"మీరు ప్రతిరోజూ కట్టుబడి ఉన్నారని ఊహించుకోండి మరియు 10వ రోజున మీరు గత రెండు రోజులుగా చేసిన మార్పులు ప్రణాళికాబద్ధంగా పని చేయలేదని మీరు కనుగొంటారు. మరియు మీరు 8వ రోజున కలిగి ఉన్న కోడ్‌కి తిరిగి వెళ్లి టాస్క్‌ను చేరుకోవాలనుకుంటున్నారు. భిన్నంగా."

"మీరు గత రెండు రోజుల్లో స్థానిక రిపోజిటరీకి చేసిన మార్పులను వెనక్కి తీసుకుని, కావలసిన స్థితికి తిరిగి వెళ్లండి. దీనిని రోల్‌బ్యాక్ ఆపరేషన్ అంటారు ."

"నువ్వు అలా చేయగలవని నాతో చెబుతున్నావా?"

"అవును. అదనంగా, కమిట్ హిస్టరీ నిల్వ చేయబడినందున, ఏదైనా ఎప్పుడు మరియు ఎందుకు కట్టుబడి ఉంది మరియు ఎవరి ద్వారా, సంబంధిత ఫీచర్‌లు/బగ్‌లు మరియు ఈ పనిలో భాగంగా ఏయే పది ఫైల్‌లు ఏకకాలంలో సవరించబడ్డాయి అని మీరు కనుగొనవచ్చు."

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

"సరే, అది బాగుంది. నేను ఒప్పించాను. ఇవన్నీ ఎలా పనిచేస్తాయో వివరించే రెండు ఉదాహరణలు మీరు నాకు చూపగలరా?"

"తప్పకుండా."

"మీరు మీ స్థానిక కంప్యూటర్‌కు సెంట్రల్ రిపోజిటరీని ఎలా క్లోన్ చేస్తారో ఇక్కడ ఉంది :"

కట్టుబాట్లు మరియు శాఖలు - 1

"కాబట్టి, ఇకపై చెక్అవుట్ ఆపరేషన్ అవసరం లేదు."

"అవును. పుష్ ఆపరేషన్‌ల ఉదాహరణలు ఇక్కడ ఉన్నాయి :"

కట్టుబాట్లు మరియు శాఖలు - 2

"మరియు పుల్ ఆపరేషన్లు:

కట్టుబాట్లు మరియు శాఖలు - 3

"ఆహ్. అది ఎక్కువ లేదా తక్కువ అర్ధమే."

"అయితే, GitHub అనే చక్కని సేవ ఉంది."

"ఏ ప్రోగ్రామర్ అయినా అక్కడ రిజిస్టర్ చేసుకోవచ్చు మరియు వారి స్వంత Git రిపోజిటరీలను సృష్టించుకోవచ్చు. మీరు దానితో మరింత సుపరిచితులు కావాలని నేను సూచిస్తున్నాను."

"ఇక్కడ కొన్ని ఉపయోగకరమైన లింక్‌లు ఉన్నాయి:"

https://githowto.com

https://git-scm.com/book/en/v2/Getting-Started-Installing-Git

https://articles.assembla.com/using-git/getting-started/set-up-git-on-windows-with-tortoisegit

"కొంతమంది Git క్లయింట్లు ఉన్నారని గమనించండి."

"మొదట, GitBash ఉంది   , ఇది టెక్స్ట్ ఆదేశాలను నమోదు చేయడానికి మిమ్మల్ని అనుమతిస్తుంది."

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

"IntelliJ IDEA Gitకి మద్దతు ఇస్తుంది మరియు పర్యావరణం నుండి నేరుగా రెండు క్లిక్‌లతో అన్ని రకాల సంక్లిష్ట ఆదేశాలను అమలు చేయడానికి మిమ్మల్ని అనుమతిస్తుంది."

"కాబట్టి, నేను ఏది నేర్చుకోవాలి?"

"వాటన్నింటిని మీరు తెలుసుకోవాలని నేను సిఫార్సు చేస్తున్నాను."

"మీరు మీ ఇంటర్వ్యూలో ఉత్తీర్ణులై పనికి చేరుకుంటారు. మీరు Gitకి లింక్, లాగిన్ మరియు పాస్‌వర్డ్ పొందుతారు - అంతే. అప్పుడు మీరు మీ స్వంతంగా ఉంటారు."

"మీ స్వంతంగా" అంటే ఏమిటి?"

"నా ఉద్దేశ్యం మీరు మీరే Gitని సెటప్ చేస్తారని, రిపోజిటరీ కాపీని మీరే లాగండి,..."

"ఆపై మీరు ప్రాజెక్ట్‌ను నిర్మించి, అమలు చేయడానికి ప్రయత్నించాలి."

"ప్రాజెక్ట్ డాక్యుమెంటేషన్‌తో పాటుగా బిల్డ్ సూచనలు కూడా ఎక్కువగా Git రిపోజిటరీలో ఉంటాయి."

"మీ టీమ్ లీడ్ సాయంత్రం మీ వద్దకు వచ్చి,  "సరే, మీరు ఇప్పటివరకు ఏమి కనుగొన్నారు?" "

"మరియు మీరు ఇలా అంటారు, 'నేను ఇక్కడ Gitని సెటప్ చేయడానికి ప్రయత్నిస్తున్నాను, కానీ ఇంకా విజయం సాధించలేదు. "మీరు నన్ను తొలగించడం లేదు, సరియైనదా?" "

"లేదా, ఇంకా మధ్యాహ్న సమయంలో, మీరు టీమ్ లీడ్‌కి వెళ్లి ఇలా చెప్పవచ్చు,  "నేను Gitని ఇన్‌స్టాల్ చేసాను, ప్రాజెక్ట్‌ను తీసివేసాను మరియు డాక్యుమెంటేషన్ ద్వారా బ్రౌజ్ చేసాను, కానీ వందల కొద్దీ ఫైల్‌లు ఉన్నాయి మరియు నేను ఇంకా అన్నింటినీ క్రమబద్ధీకరించలేదు. ఎక్కడ ప్రస్తుత నిర్మాణ సూచనలేనా?'» "

"మీకు తేడా అనిపిస్తుందా?"

"అవును. రెండవ సందర్భంలో, నేను సూపర్ రాక్-స్టార్ ప్రోగ్రామర్‌ని, కానీ మొదటిది, నేను Git నుండి ప్రాజెక్ట్‌ను ఎలా తీయాలో కూడా తెలియని రోబో-డూఫస్‌ని. మరో మాటలో చెప్పాలంటే, నేను చిత్తు చేసాను. నేను ప్రోగ్రామింగ్ ప్రారంభించే ముందు. ఆ తర్వాత వారు నన్ను కోడ్ రాయడానికి కూడా అనుమతించరని నేను అనుకుంటాను."

"చూడండి, మీరు మీ స్వంత ప్రశ్నలకు సమాధానాలు ఇచ్చారు. కాబట్టి అధ్యయనం చేసి దాన్ని గుర్తించండి. మీ కోసం ఎవరూ చేయరు."

"మీరు నాకు సహాయం చేయడం లేదా?"

"నేను ఇంతకుముందే హెల్ప్ చేసాను. నువ్వు మరిచిపోతే ఇక్కడ జావా నేర్పుతున్నాం. మిగతాదానికి నువ్వు నీవే. లేక నీ తల తాగడానికేనా?"

"సరే, నాకు అర్థమైంది. ధన్యవాదాలు, బిలాబో!"