CodeGym /Java Blog /சீரற்ற /குழப்பமில்லாத குழுப்பணி: Git இல் கிளை உத்திகளைப் புரிந்து...
John Squirrels
நிலை 41
San Francisco

குழப்பமில்லாத குழுப்பணி: Git இல் கிளை உத்திகளைப் புரிந்துகொள்வது

சீரற்ற குழுவில் வெளியிடப்பட்டது

அறிமுகம்

மென்பொருள் உருவாக்கத்தில் பதிப்புக் கட்டுப்பாட்டு அமைப்புகளுக்கான நடைமுறைத் தொழில் தரநிலையாக Git ஆனது. Git என்றால் என்ன , எப்படி தொடங்குவது என்பது பற்றிய எனது கட்டுரையை நீங்கள் முதலில் படிக்க வேண்டும் . நீங்கள் அதைப் படித்தீர்களா? அருமை, வாருங்கள்! குழப்பமில்லாத குழுப்பணி: Git - 1ல் கிளை உத்திகளைப் புரிந்துகொள்வதுவிரும்பியோ விரும்பாமலோ, லினஸ் டோவால்ட்ஸ் உருவாக்கிய இந்த கருவி ஓய்வு பெறப் போவதில்லை. எனவே, விநியோகிக்கப்பட்ட குழுக்கள் Git உடன் எவ்வாறு செயல்படுகின்றன என்பதைப் பற்றி பேசுவது அர்த்தமுள்ளதாக இருக்கிறது. இது தேவையற்ற கேள்வி அல்ல. முன்பு ஒன்றாக வேலை செய்யாத ஒரு புதிய மேம்பாட்டுக் குழுவைக் கூட்டும்போது, ​​கிளை உத்தி பெரும்பாலும் முடிவு செய்ய வேண்டிய முதல் விஷயங்களில் ஒன்றாகும். மேலும் சிலர் ஒரு உத்தியை விட மற்றொரு உத்தி சிறந்தது என்பதை நிரூபிக்க வாயில் நுரை பொங்குவார்கள். எனவே, அவர்களைப் பற்றிய சில பொதுவான தகவல்களை உங்களுக்குத் தெரிவிக்க விரும்புகிறேன்.

கிளை உத்திகள் அவசியமா?

அவை உண்மையில் அவசியம். மிகவும் அவசியம். ஏனெனில் குழு ஏதாவது ஒன்றை ஒப்புக் கொள்ளவில்லை என்றால், ஒவ்வொரு குழு உறுப்பினரும் அவர் அல்லது அவள் விரும்பியதைச் செய்வார்கள்:
  • எந்த கிளையில் வேலை செய்கிறார்களோ
  • தன்னிச்சையான மற்ற கிளைகளில் இணைதல்
  • சில கிளைகளை நீக்குகிறது
  • புதியவற்றை உருவாக்குகிறது
  • எனவே ஒவ்வொரு குழு உறுப்பினரும் நிர்வகிக்கப்படாத ஓட்டத்தில் செயல்படுவார்கள்.
அதனால்தான் கீழே கருத்தில் கொள்ள மூன்று உத்திகள் உள்ளன. போகலாம்!

கிட்ஹப் ஓட்டம்

குழப்பமில்லாத குழுப்பணி: Git - 2 இல் கிளை உத்திகளைப் புரிந்துகொள்வதுஇந்த கிளை உத்தி, விந்தை போதும், GitHub இல் விரும்பப்படுகிறது :) இது விதிகளின் தொகுப்புடன் வருகிறது :
  1. முதன்மை கிளையில் உள்ள குறியீடு உடைக்கப்படக்கூடாது. அது எந்த நேரத்திலும் பயன்படுத்த தயாராக இருக்க வேண்டும். அதாவது, ப்ராஜெக்ட்டை உருவாக்குவதையும் சர்வரில் பயன்படுத்துவதையும் தடுக்கும் குறியீட்டை நீங்கள் அங்கு வைக்கக்கூடாது.
  2. புதிய செயல்பாட்டில் வேலை செய்ய நீங்கள் திட்டமிட்டால், முதன்மைக் கிளையின் அடிப்படையில் ஒரு புதிய அம்சக் கிளையை உருவாக்கி அதற்கு அர்த்தமுள்ள பெயரைக் கொடுக்க வேண்டும். உங்கள் குறியீட்டை உள்நாட்டில் உறுதிசெய்து, ரிமோட் களஞ்சியத்தில் உள்ள அதே கிளையில் உங்கள் மாற்றங்களைத் தொடர்ந்து அழுத்தவும்.
  3. வேலை தயாராகிவிட்டதாகவும், முதன்மைக் கிளையில் இணைக்கப்படலாம் என்றும் நீங்கள் நினைக்கும் போது (அல்லது உங்களுக்குத் தெரியாவிட்டால், ஆனால் செய்த வேலையைப் பற்றிய கருத்தைப் பெற விரும்பினால்) இழுக்கும் கோரிக்கையைத் திறக்கவும் (இங்கே இழுக்கும் கோரிக்கைகளைப் பற்றி நீங்கள் படிக்கலாம் ) .
  4. இழுக்க கோரிக்கையில் உள்ள புதிய அம்சம் அங்கீகரிக்கப்பட்ட பிறகு, அதை முதன்மை கிளையில் இணைக்க முடியும்.
  5. மாற்றங்கள் முதன்மை கிளையில் இணைக்கப்படும் போது, ​​அவை உடனடியாக சேவையகத்திற்கு அனுப்பப்பட வேண்டும்.
கிட்ஹப் ஃப்ளோவின் படி, நீங்கள் புதிதாக ஒன்றைச் செய்யத் தொடங்கும் முன், அது பிழைத்திருத்தமாக இருந்தாலும் அல்லது புதிய அம்சமாக இருந்தாலும், மாஸ்டரின் அடிப்படையில் ஒரு புதிய கிளையை உருவாக்கி அதற்கு பொருத்தமான பெயரைக் கொடுக்க வேண்டும். அடுத்து, செயல்படுத்தும் பணி தொடங்குகிறது. அதே பெயரில் ரிமோட் சர்வரில் உறுதிகளை நீங்கள் தொடர்ந்து சமர்ப்பிக்க வேண்டும். எல்லாம் தயாராக உள்ளது என்று நீங்கள் முடிவு செய்தால், நீங்கள் முதன்மை கிளைக்கு இழுக்கும் கோரிக்கையை உருவாக்க வேண்டும். "அனுமதி" என்பதைக் கிளிக் செய்வதற்கு முன், குறைந்தபட்சம் ஒன்று அல்லது இன்னும் சிறப்பாக, இரண்டு பேர் இந்தக் குறியீட்டைப் பார்க்க வேண்டும். வழக்கமாக, திட்டத்தின் குழு தலைவர் மற்றும் இரண்டாவது நபர் கண்டிப்பாக பார்க்க வேண்டும். பின்னர் நீங்கள் இழுக்கும் கோரிக்கையை முடிக்கலாம். திட்டங்களில் தொடர்ச்சியான விநியோகத்தை (சிடி) இயக்குவதற்கும் கிட்ஹப் ஃப்ளோ அறியப்படுகிறது . ஏனென்றால், மாஸ்டர் கிளைக்குள் மாற்றங்கள் செல்லும்போது, ​​அவை உடனடியாக சர்வரில் வரிசைப்படுத்தப்பட வேண்டும்.

GitFlow

குழப்பமில்லாத குழுப்பணி: Git - 3 இல் கிளை உத்திகளைப் புரிந்துகொள்வதுமுந்தைய உத்தி (GitHub Flow) அதன் மையத்தில் மிகவும் சிக்கலானதாக இல்லை. இரண்டு வகையான கிளைகள் உள்ளன: மாஸ்டர் மற்றும் அம்ச கிளைகள். ஆனால் GitFlow மிகவும் தீவிரமானது. குறைந்த பட்சம், மேலே உள்ள படம் அதை தெளிவாக்க வேண்டும் :) எனவே இந்த உத்தி எப்படி வேலை செய்கிறது? பொதுவாக, GitFlow இரண்டு தொடர்ச்சியான கிளைகளையும் பல வகையான தற்காலிக கிளைகளையும் கொண்டுள்ளது. கிட்ஹப் ஃப்ளோவின் பின்னணியில், முதன்மைக் கிளை நிலையானது மற்றும் மற்றவை தற்காலிகமானவை. நிலையான கிளைகள்
  • மாஸ்டர்: இந்த கிளையை யாரும் தொடவோ அல்லது தள்ளவோ ​​கூடாது. இந்த மூலோபாயத்தில், மாஸ்டர் சமீபத்திய நிலையான பதிப்பைக் குறிக்கிறது, இது உற்பத்தியில் பயன்படுத்தப்படுகிறது (அதாவது உண்மையான சர்வரில்)
  • வளர்ச்சி: வளர்ச்சிக் கிளை. இது நிலையற்றதாக இருக்கலாம்.
மூன்று துணை தற்காலிக கிளைகளைப் பயன்படுத்தி வளர்ச்சி நடைபெறுகிறது :
  1. அம்சக் கிளைகள் - புதிய செயல்பாட்டை உருவாக்குவதற்கு.
  2. வெளியீட்டு கிளைகள் - திட்டத்தின் புதிய பதிப்பை வெளியிடுவதற்குத் தயாராகிறது.
  3. Hotfix கிளைகள் - உண்மையான சர்வரில் உண்மையான பயனர்கள் கண்டறிந்த பிழையை விரைவாக சரிசெய்வதற்காக.

அம்சம் கிளைகள்

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

கிளைகளை விடுங்கள்

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

ஹாட்ஃபிக்ஸ் கிளைகள்

Hotfix கிளைகள் மாஸ்டர் கிளைக்கு புதிய பதிப்பை வெளியிடுவதற்காகவும் உள்ளன. ஒரே வித்தியாசம் என்னவென்றால், அந்த வெளியீடுகள் திட்டமிடப்படவில்லை. பிழைகள் வெளியிடப்பட்ட பதிப்பில் நுழைந்து உற்பத்தி சூழலில் கண்டுபிடிக்கப்படும் சூழ்நிலைகள் உள்ளன. iOS ஐ எடுத்துக் கொள்ளுங்கள்: புதிய பதிப்பு வெளியானவுடன், வெளியீட்டிற்குப் பிறகு கண்டறியப்பட்ட பிழைகளுக்கான திருத்தங்களுடன் கூடிய புதுப்பிப்புகளை உடனடியாகப் பெறுவீர்கள். அதன்படி, ஒரு பிழையை விரைவாக சரிசெய்து புதிய பதிப்பை வெளியிட வேண்டும். எங்கள் படத்தில், இது பதிப்பு 1.0.1 க்கு ஒத்திருக்கிறது. உண்மையான சர்வரில் (அல்லது நாம் சொல்வது போல், "உற்பத்தியில்" அல்லது "உற்பத்தியில்") ஒரு பிழையை சரிசெய்ய வேண்டிய அவசியம் ஏற்பட்டால், புதிய செயல்பாட்டின் வேலை நிறுத்தப்பட வேண்டியதில்லை. ஹாட்ஃபிக்ஸ் கிளை மாஸ்டர் கிளையிலிருந்து உருவாக்கப்பட வேண்டும், ஏனெனில் இது தற்போது உற்பத்தியில் இயங்குவதைக் குறிக்கிறது. பிழை திருத்தம் தயாரானவுடன், அது மாஸ்டரில் இணைக்கப்பட்டு, ஒரு புதிய குறிச்சொல் உருவாக்கப்பட்டது. ஒரு வெளியீட்டு கிளையைத் தயாரிப்பது போலவே, ஹாட்ஃபிக்ஸ் கிளையும் அதன் ஃபிக்ஸை மீண்டும் டெவலப்மென்ட் கிளையில் இணைக்க வேண்டும்.

ஃபோர்க்கிங் பணிப்பாய்வு

குழப்பமில்லாத குழுப்பணி: Git - 4 இல் கிளை உத்திகளைப் புரிந்துகொள்வதுஃபோர்க்கிங் பணிப்பாய்வுகளில், வளர்ச்சி இரண்டு களஞ்சியங்களை உள்ளடக்கியது:
  1. அனைத்து மாற்றங்களும் ஒன்றிணைக்கப்படும் அசல் களஞ்சியம்.
  2. ஒரு முட்கரண்டி களஞ்சியம். இது அசல் களஞ்சியத்தின் நகலாகும், அசலில் மாற்றங்களைச் செய்ய விரும்பும் மற்றொரு டெவலப்பருக்குச் சொந்தமானது.
இதுவரை கொஞ்சம் வித்தியாசமாகத் தெரிகிறது, இல்லையா? திறந்த மூல மேம்பாட்டை ஏற்கனவே எதிர்கொண்ட எவரும் இந்த அணுகுமுறையை ஏற்கனவே அறிந்திருக்கிறார்கள். இந்த மூலோபாயம் பின்வரும் நன்மையை அளிக்கிறது: அசல் கிளையில் கூட்டு மேம்பாட்டிற்கான அனுமதிகளை வழங்காமல், ஒரு போர்க் களஞ்சியத்தில் வளர்ச்சி நிகழலாம். இயற்கையாகவே, அசல் களஞ்சியத்தின் உரிமையாளருக்கு முன்மொழியப்பட்ட மாற்றங்களை நிராகரிக்க உரிமை உண்டு. அல்லது அவற்றை ஏற்று ஒன்றிணைக்க வேண்டும். அசல் களஞ்சியத்தின் உரிமையாளர் மற்றும் தயாரிப்பை உருவாக்க உதவ விரும்பும் டெவலப்பர் இருவருக்கும் இது வசதியானது. எடுத்துக்காட்டாக, நீங்கள் Linux கர்னலில் மாற்றங்களைப் பரிந்துரைக்கலாம் . அவை அர்த்தமுள்ளதாக லினஸ் முடிவு செய்தால், மாற்றங்கள் சேர்க்கப்படும் (!!!).

ஃபோர்க்கிங் பணிப்பாய்வுக்கான எடுத்துக்காட்டு

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

எந்த மூலோபாயத்தை தேர்வு செய்வது

Git என்பது ஒரு நெகிழ்வான மற்றும் சக்திவாய்ந்த கருவியாகும், இது பலவிதமான செயல்முறைகள் மற்றும் உத்திகளைப் பயன்படுத்தி வேலை செய்ய உங்களை அனுமதிக்கிறது. ஆனால் உங்களிடம் அதிகமான தேர்வுகள் உள்ளன, எந்த உத்தியை தேர்வு செய்வது என்பதை தீர்மானிப்பது மிகவும் கடினம். அனைவருக்கும் ஒரே பதில் இல்லை என்பது தெளிவாகிறது. எல்லாம் சூழ்நிலையைப் பொறுத்தது. இதற்கு உதவக்கூடிய பல வழிகாட்டுதல்கள் உள்ளன:
  1. முதலில் எளிமையான உத்தியைத் தேர்ந்தெடுப்பது நல்லது. தேவைப்படும்போது மட்டும் சிக்கலான உத்திகளுக்குச் செல்லவும்.
  2. டெவலப்பர்களுக்கு முடிந்தவரை சில கிளை வகைகளைக் கொண்ட உத்திகளைக் கவனியுங்கள்.
  3. பல்வேறு உத்திகளின் நன்மை தீமைகளைப் பார்த்து, உங்கள் திட்டத்திற்குத் தேவையான ஒன்றைத் தேர்ந்தெடுக்கவும்.
Git இல் கிளை உத்திகள் பற்றி நான் சொல்ல விரும்பினேன் அவ்வளவுதான். உங்கள் கவனத்திற்கு நன்றி :) GitHub இல் என்னைப் பின்தொடரவும் , அங்கு நான் எனது வேலையில் பயன்படுத்தும் பல்வேறு தொழில்நுட்பங்கள் மற்றும் கருவிகளை உள்ளடக்கிய எனது படைப்புகளை அடிக்கடி இடுகையிடுவேன்.
கருத்துக்கள்
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION