Git Rebase மற்றும் Branch மாறுதல்

மறுதளம்

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 பாதிக்கப்படாமல் இருக்கும். தனித்தனி அம்சங்களை உருவாக்கவும், பிழைகளை சரிசெய்யவும் அல்லது குறியீட்டின் வெவ்வேறு பதிப்புகளில் சுயாதீனமாக வேலை செய்யவும் இது உங்களை அனுமதிக்கிறது. ஒவ்வொரு கிளையிலும் தனித்தனியாக வேலை செய்ய தேவைப்படும் போது நீங்கள் கிளைகளுக்கு இடையில் மாறலாம்.