"ஹாய், அமிகோ!"

"வணக்கம்!"

"இன்று நான் உங்களுக்கு பதிப்பு கட்டுப்பாட்டு அமைப்புகளைப் பற்றி கூறுவேன்."

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

"மில்லியன் கணக்கான கோடுகளைக் கொண்ட திட்டங்கள் உண்மை."

"ஐயோ."

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

"இந்த குழப்பத்தை ஒழுங்கமைக்க, புரோகிராமர்கள் தங்கள் குறியீட்டிற்கு பதிப்பு கட்டுப்பாட்டு அமைப்புகளைப் பயன்படுத்தத் தொடங்கினர்."

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

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

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

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

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

"நீங்கள் செய்ய வேண்டியது இங்கே:"

"1) சர்வரில் உள்நுழைக."

"2) Checkout கட்டளையைப் பயன்படுத்தி அனைத்து கோப்புகளின் சமீபத்திய பதிப்பையும் உங்கள் கணினியில் நகலெடுக்கவும்."

"3) தேவையான கோப்புகளில் மாற்றங்களைச் செய்யுங்கள்."

"4) நிரலை உள்நாட்டில் இயக்கவும், அது தொகுக்கப்பட்டு இயங்குகிறது என்பதை உறுதிப்படுத்தவும்."

"5) உங்கள் 'மாற்றங்களை' கமிட் கட்டளையைப் பயன்படுத்தி சேவையகத்திற்கு அனுப்பவும்."

"இது பொதுவாக அர்த்தமுள்ளதாக இருக்கிறது."

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

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

" செக்அவுட்டில் இருந்து இது எப்படி வேறுபட்டது ?"

" செக்அவுட் ஆனது களஞ்சியத்தின் அனைத்து கோப்புகளையும் நகலெடுக்க வடிவமைக்கப்பட்டுள்ளது, ஆனால் புதுப்பிப்பு நீங்கள் கடைசியாக Checkout / Update கட்டளையை இயக்கியதிலிருந்து சர்வரில் புதுப்பிக்கப்பட்ட கோப்புகளை மட்டுமே புதுப்பிக்கிறது ."

"தோராயமாக இது எப்படி வேலை செய்கிறது:"

வெளியேறுதல் :

பதிப்பு கட்டுப்பாட்டு அமைப்புகள் - 1

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

பதிப்பு கட்டுப்பாட்டு அமைப்புகள் - 2

"மேலும் புதுப்பிப்பு கட்டளை எவ்வாறு செயல்படுகிறது என்பது இங்கே :"

பதிப்பு கட்டுப்பாட்டு அமைப்புகள் - 3

"எவ்வளவு சுவாரஸ்யமானது! வேறு ஏதேனும் கட்டளைகள் உள்ளதா?"

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

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

"அப்படியானால் மற்றவர் என்ன செய்வார்?"

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

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

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

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

"நான் பார்க்கிறேன். ஒட்டுமொத்தமாக, அது நியாயமானதாகத் தெரிகிறது."

"மேலும் ஒரு விஷயம் இருக்கிறது: கிளைகள்."

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

"அப்படியானால் அவர்கள் என்ன செய்ய வேண்டும்?"

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

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

"இந்தப் பாதை வரலாற்றின் மாற்றுக் கிளையாகும்."

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

"சரி, இது இன்னும் புரிந்துகொள்ளக்கூடியதாகத் தெரிகிறது.

"நாங்கள் களஞ்சியத்தை நகலெடுத்தோம் என்று உங்களால் ஏன் சொல்ல முடியவில்லை?"

"இது எளிய நகல் அல்ல."

"இந்த கிளைகளை உடற்பகுதியில் இருந்து பிரிக்க முடியாது, ஆனால் அதில் ஒன்றிணைக்க முடியும்."

"வேறு வார்த்தைகளில் கூறுவதானால், ஒரு கிளையில் சில வேலைகளைச் செய்ய முடியும், அது முடிந்ததும், களஞ்சியக் கிளையை களஞ்சியத்தின் உடற்பகுதியில் சேர்க்க முடியுமா?"

"ஆமாம்."

"மற்றும் கோப்புகளுக்கு என்ன நடக்கும்?"

"கோப்புகள் ஒன்றிணைக்கப்படும்."

"சரி, அது குளிர்ச்சியாக இருக்கிறது. அது செயலிலும் குளிர்ச்சியாக இருக்கும் என்று நம்புகிறேன்."

"பின்னர் சில. சரி, ஓய்வு எடுத்துக் கொள்வோம்."

" இங்கே பல பயனுள்ள தகவல்கள் உள்ளன  "