திட்டப்பணி செய்வதற்குப் பதிப்பு மேலாண்மை கருவியின் தேவை என்ன?
திட்டப்பணி செய்ய ஒரு குழுவை உருவாக்கிவிட்டோம். பிறகு ஒவ்வொருவரும் திட்டப்பணியில் வேலை செய்யத் தொடங்குவோம் அல்லவா! இவற்றை எல்லாம் எப்படி ஒருங்கிணைப்பது? ஒவ்வொருவரும் தனித்தனி வேலை செய்வதை ஒருங்கிணைப்பதே பெரிய வேலை. சில சமயங்களில் ஒரே வேலையில் (அல்லது ஒரு நிரலில்) பலரும் இணைந்து வேலை செய்ய வேண்டியது வரும் அல்லவா! அதையெல்லாம் ஒருங்கிணைக்கும் ஓரிடம் தான் பதிப்பு மேலாண்மை செயலி(கருவி)யின் வேலை.
- கோப்புகளில்(நிரல்களில்) உள்ள மாற்றங்களைப் பதிந்து வைப்பது.
- மாற்றங்கள் எப்போதெல்லாம் நடந்தன என்னும் வரலாற்றைப் பதிந்து வைப்பது.
- நிரல், கோப்புகளுக்கு அழிவு என்றால் நிர்வகிப்பது.
- வகைகள்: Local, Centralized, Distributed.
கிட் 1991ஆம் ஆண்டு அறிமுகப்படுத்தப்பட்டது.
2002ஆம் ஆண்டு பிட்கீப்பர் அறிமுகப்படுத்தப்பட்டது.
கிட் என்றால் என்ன?
பகிர்நிலை பதிப்பு மேலாண்மை கருவி (Distributed Version Control System)
கோப்பு மாற்றங்களின் மொத்த வரலாற்றையும் கொண்டிருக்கும்.
கோப்பு அழிந்து போனால் மீட்கும் வசதிகள் கொண்டது.
திறந்த மூல மென்பொருள்.
எப்படி நிறுவுவது?
லினக்சில் apt-get install git-all
தெரிந்து கொள்ள வேண்டிய வார்த்தைகள்:
Repository:
கோப்புகள் எல்லாம் இருக்கும் ஓரிடம் தான் repository. பொதுவாக ‘ரெப்போ’ என்று அறியப்படுபவை.
Fork:
ரெப்போவில் இருந்து எடுக்கப்படும் ஒரு நகல் எடுத்து நம்முடைய பக்கத்தில் வைக்கப்படும்.
Branch:
Fork என்பது நகல் எடுப்பது. நகல் எடுத்த படி தான் Branch. அங்கே தான் நாம் செய்யும் மாற்றங்கள் நடக்கும். மரம் போல் தான் ! ஒரு branch (கிளையில்) இல் இருந்து பல கிளைகள் தோன்றலாம்.
Merge:
நீங்கள் செய்த மாற்றங்களையும் உங்கள் நண்பர் செய்த மாற்றங்களையும் ஒன்றாகச் சேர்ப்பது தான் Merge.
Conflict:
ஒரே இடத்தில் நீங்களும் உங்கள் நண்பர்களும் மாற்றம் செய்தீர்கள் என்றால் எதை வைத்துக் கொள்வது என்று தோன்றும் சிக்கல் தான் Conflict.
கிட் ரெப்போவை உங்கள் கணினிக்குக் கொண்டு செல்ல, fork செய்யுங்கள். மாற்றங்களைச் செய்யுங்கள். commit கொடுத்து Commit Message கொடுங்கள்
Push/Pull
remote repoவிற்கு மாற்றங்களை அனுப்புவது, பெறுவது.
Send/Receive changes from a remote repo.
Clone
remote ரெப்போவை படி(நகல்) எடுப்பது.
எப்போதெல்லாம் புதிய மாற்றங்கள் நமக்குத் தெரிய வேண்டுமோ அப்போது,
git pull கொடுக்க வேண்டும்.
நாம் செய்த மாற்றங்களைத் தள்ள git push கொடுக்க வேண்டும்.
Pull Request:
Merge Request:
இங்கு தான் Merge Conflict வரும் வாய்ப்பு இருக்கிறது.
GIT Workflow:
Untracked files:
– ‘கிட்’ எந்தெந்த கோப்புகளைக் கண்காணிக்க வேண்டாம் என்பது.
Working Areas(Workspace):
Commit கொடுப்பதற்கு முன் மாற்றங்கள் செய்யப்பட்ட கோப்புகள் இருக்குமிடம்.
Staging Area(Index)
– அடுத்த commitஇற்குப் போகும் – மாற்றங்கள் செய்யப்பட்ட கோப்புகள் இருக்குமிடம்.
Upstream:
பகிர் வழங்கி(Shared server)யில் ஏற்றப்பட்ட ரெப்போ.