மறுதளம்
Rebase
மற்றொரு கிளையிலிருந்து கமிட்களைப் பயன்படுத்துவதன் மூலம் ஒரு கிளையின் உறுதி வரலாற்றை மாற்றும் செயல்முறையாகும். merge
மாற்றங்களை இணைக்கப் பயன்படுத்துவதற்குப் பதிலாக, ஒன்றிணைக்கும் கமிட்களை உருவாக்காமல், தற்போதைய கிளையின் உறுதி வரலாற்றில் புதிய கமிட்களைச் rebase
செய்ய உங்களை அனுமதிக்கிறது. insert
உதாரணமாக, உங்களிடம் இரண்டு கிளைகள் உள்ளன என்று வைத்துக்கொள்வோம்: feature-branch
மற்றும் main
. நீங்கள் பணிபுரிந்து கொண்டிருக்கிறீர்கள் மேலும் உங்கள் தற்போதைய கிளையில் feature-branch
சமீபத்திய கமிட்களைப் பயன்படுத்த விரும்புகிறீர்கள். main
இதை அடைய நீங்கள் ரீபேஸைப் பயன்படுத்தலாம்:
git checkout feature-branch
git rebase main
நீங்கள் இந்த கட்டளையை இயக்கும் போது, Git இலிருந்து கமிட்களை எடுத்து main
அவற்றை க்கு பொருந்தும் feature-branch
. இதன் பொருள், இல் உள்ள அனைத்து உறுதிமொழிகளும் இலிருந்து feature-branch
வரும் உறுதிமொழிகளுக்குப் பிறகு தோன்றும் main
. இதன் விளைவாக, ஒரு தூய்மையான மற்றும் படிக்கக்கூடிய உறுதியான வரலாறு feature-branch
.
இருப்பினும், ரீபேஸைப் பயன்படுத்தும் போது, கமிட் வரலாற்றை மாற்றுவது பொதுவில் பகிரப்பட்ட கிளைகளை பாதிக்கும் என்பதைக் கவனத்தில் கொள்ள வேண்டும். எனவே, நீங்கள் ஏற்கனவே உங்கள் தற்போதைய கிளையில் இருந்து ரிமோட் ரிபோசிட்டரிக்கு கமிட்களை தள்ளியிருந்தால், மோதல்கள் மற்றும் குளறுபடியான கமிட் வரலாற்றைத் தவிர்க்க அந்த கிளையில் மறுதளத்தைப் பயன்படுத்த வேண்டாம் என்று பொதுவாக அறிவுறுத்தப்படுகிறது.
Branch
மாறுகிறது
Git இல் கிளை மாறுதல் என்பது ஒரு கிளையிலிருந்து மற்றொரு கிளைக்கு நகரும் செயல்முறையைக் குறிக்கிறது. நீங்கள் கிளைகளை மாற்றும்போது, Git HEAD பாயிண்டரை புதிய கிளைக்கு நகர்த்துகிறது, அந்த கிளையில் பணிபுரியவும், மற்ற கிளைகளை பாதிக்காமல் மாற்றங்களைச் செய்யவும் உங்களை அனுமதிக்கிறது.
உதாரணமாக, உங்களிடம் கிளைகள் feature-branch
மற்றும் main
. க்கு மாற feature-branch
, நீங்கள் பின்வரும் கட்டளையைப் பயன்படுத்த வேண்டும்:
git checkout feature-branch
கிளைகளை மாற்றிய பின், வேலை செய்யும் கோப்பகத்தில் மாற்றங்களைச் செய்யலாம். அனைத்து commit
, add
, மற்றும் checkout
கட்டளைகள் தற்போதைய கிளைக்கு பொருந்தும்.
எடுத்துக்காட்டாக, நீங்கள் ஒரு புதிய கோப்பைச் சேர்த்து, அதை ல் செய்திருந்தால் feature-branch
, அந்த கிளையில் மட்டுமே கமிட் இருக்கும், அது main
பாதிக்கப்படாமல் இருக்கும். தனித்தனி அம்சங்களை உருவாக்கவும், பிழைகளை சரிசெய்யவும் அல்லது குறியீட்டின் வெவ்வேறு பதிப்புகளில் சுயாதீனமாக வேலை செய்யவும் இது உங்களை அனுமதிக்கிறது. ஒவ்வொரு கிளையிலும் தனித்தனியாக வேலை செய்ய தேவைப்படும் போது நீங்கள் கிளைகளுக்கு இடையில் மாறலாம்.