"இன்று நான் உங்களுக்கு இரண்டு மிகவும் பிரபலமான பதிப்பு கட்டுப்பாட்டு நிரல்களைப் பற்றி சொல்லப் போகிறேன்: SVN மற்றும் Git."

"கடந்த பாடத்தில் நான் விவரித்ததைப் போலவே SVN வேலை செய்கிறது. Git இன்னும் கொஞ்சம் சிக்கலானது, மேலும் அதை இன்னும் விரிவாக விவாதிக்க திட்டமிட்டுள்ளேன்."

"SVN மற்றும் Gitக்கான ஆவணங்களுக்கான இணைப்புகளை எனக்குத் தர முடியுமா?"

"நிச்சயமாக, ஒரு நொடி."

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

https://githowto.com  (இது ஒரு தலைசிறந்த படைப்பு)

"எனவே, கிட் ."

"இது SVN ஐ விட சற்று சிக்கலானது.  Git உடன், ஒவ்வொரு பயனருக்கும் சர்வர் களஞ்சியத்துடன் கூடுதலாக அவரவர் சொந்த உள்ளூர் களஞ்சியமும் உள்ளது. "

"அப்படியானால் நீங்கள் எங்கு உறுதியளிக்கிறீர்கள்?"

"பயனர்கள் எப்போதும் தங்கள் உள்ளூர் களஞ்சியத்தில் ஈடுபடுகிறார்கள்."

"ஆனால் சர்வர் களஞ்சியத்தைப் பற்றி என்ன?"

"உள்ளூர் மற்றும் சர்வர் களஞ்சியங்களை ஒத்திசைக்க, சிறப்பு இழுத்தல் மற்றும் புஷ் கட்டளைகள் உள்ளன .

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

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

"ஜிட் மூலம், நீங்கள் எப்போதும் உள்ளூர் களஞ்சியத்தில் ஈடுபடுவீர்கள், பின்னர் நீங்கள் முடித்தவுடன் சர்வரில் உள்ள மையக் களஞ்சியத்திற்கு அனைத்து மாற்றங்களையும் ஒரு தொகுப்பாக அனுப்புங்கள்."

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

"ஏன் உங்களால் இரண்டு வாரங்கள் வேலை செய்ய முடியாது, பிறகு உங்கள் மாற்றங்களை சர்வரில் ஒருமுறை செய்ய முடியாது?"

"சரி, ஒரு பதிப்பு கட்டுப்பாட்டு நிரல் நிறைய வசதிகளை வழங்குகிறது."

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

"கடந்த இரண்டு நாட்களில் உள்ளூர் களஞ்சியத்தில் செய்யப்பட்ட மாற்றங்களை நீங்கள் திரும்பப் பெற்று, விரும்பிய நிலைக்குத் திரும்புங்கள். இது திரும்பப் பெறுதல் செயல்பாடு எனப்படும் ."

"நீங்கள் அதை செய்ய முடியும் என்று என்னிடம் சொல்கிறீர்களா?"

"ஆமாம். கூடுதலாக, கமிட் ஹிஸ்டரி சேமிக்கப்பட்டிருப்பதால், ஏதாவது எப்போது, ​​ஏன் செய்யப்பட்டது, யாரால், தொடர்புடைய அம்சங்கள்/பிழைகள் மற்றும் இந்த வேலையின் ஒரு பகுதியாக எந்தெந்த பத்து கோப்புகள் ஒரே நேரத்தில் மாற்றப்பட்டன என்பதை நீங்கள் கண்டறியலாம்."

"ஒருவரின் பிழை திருத்தம் வேறொருவரின் குறியீட்டை உடைக்கிறது என்று வைத்துக்கொள்வோம். நீங்கள் குறியீட்டை பின்னோக்கி ( ரோல்பேக் ) மாற்றி, மாற்றம் நடக்காதது போல் தொடரலாம்."

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

"நிச்சயம்."

" உங்கள் உள்ளூர் கணினியில் மத்திய களஞ்சியத்தை எவ்வாறு குளோன் செய்வது என்பது இங்கே :"

பொறுப்புகள் மற்றும் கிளைகள் - 1

"எனவே, Checkout செயல்பாடு இனி தேவையில்லை."

"ஆம். புஷ் செயல்பாடுகளின் எடுத்துக்காட்டுகள் இங்கே :"

பொறுப்புகள் மற்றும் கிளைகள் - 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 உள்ளது   , இது உரை கட்டளைகளை உள்ளிட உங்களை அனுமதிக்கிறது."

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

"IntelliJ IDEA Git ஐ ஆதரிக்கிறது மற்றும் சூழலில் இருந்து நேரடியாக ஓரிரு கிளிக்குகளில் அனைத்து வகையான சிக்கலான கட்டளைகளையும் செயல்படுத்த உங்களை அனுமதிக்கிறது."

"அப்படியானால், நான் எதைக் கற்றுக்கொள்ள வேண்டும்?"

"அவர்கள் அனைவரையும் நீங்கள் தெரிந்துகொள்ளுமாறு நான் பரிந்துரைக்கிறேன்."

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

"உங்கள் சொந்தமாக" என்ன சொல்கிறீர்கள்?"

"அதாவது நீங்களாகவே Gitஐ அமைப்பீர்கள், களஞ்சியத்தின் நகலை நீங்களே இழுத்துக்கொள்ளுங்கள்,..."

"பின்னர் நீங்கள் திட்டத்தை உருவாக்கி இயக்க முயற்சிக்க வேண்டும்."

"நிர்மாண வழிமுறைகள் பெரும்பாலும் திட்ட ஆவணங்களுடன் Git களஞ்சியத்தில் இருக்கும்."

"உங்கள் குழு தலைவர் மாலையில் உங்களிடம் வந்து,  "சரி, நீங்கள் இதுவரை என்ன கண்டுபிடித்தீர்கள்?" "

"மேலும் நீங்கள் கூறுவீர்கள், 'நான் இங்கே Git ஐ அமைக்க முயற்சிக்கிறேன், ஆனால் இன்னும் வெற்றி பெறவில்லை. "நீங்கள் என்னை நீக்கப் போவதில்லை, இல்லையா?" "

"அல்லது, இன்னும் மதியம் இருக்கும்போது, ​​​​நீங்கள் குழுத் தலைவரிடம் சென்று,  "நான் Git ஐ நிறுவி, திட்டத்தை இழுத்து, ஆவணங்களை உலாவினேன், ஆனால் நூற்றுக்கணக்கான கோப்புகள் உள்ளன, நான் இன்னும் எல்லாவற்றையும் வரிசைப்படுத்தவில்லை. எங்கே. தற்போதைய கட்டுமான வழிமுறைகளா?'» "

"உங்களால் வித்தியாசத்தை உணர முடியுமா?"

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

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

"நீங்கள் எனக்கு உதவப் போவதில்லையா?"

"ஏற்கனவே உதவி செய்து விட்டேன். நீங்கள் மறந்துவிட்டீர்கள் என்றால் நாங்கள் இங்கு ஜாவா கற்றுக்கொடுக்கிறோம். மற்ற எல்லாவற்றுக்கும் நீங்கள் சொந்தமாக இருக்கிறீர்கள். அல்லது உங்கள் தலை குடிப்பதற்கு மட்டும்தானா?"

"சரி, எனக்கு புரிந்தது. நன்றி, பிலாபோ!"