Stashing-க்கான முக்கிய கட்டளைகள்
git stash
உங்கள் மாற்றங்களை stash செய்ய
git stash push -m "message"
ஒரு செய்தியுடன் stash செய்ய
git stash list
அனைத்து stashes-ஐ பட்டியலிடு
git stash branch <branchname>
ஒரு stash-லிருந்து branch உருவாக்க
Git Stash என்றால் என்ன? ஏன் பயன்படுத்த வேண்டும்?
சில நேரங்களில் நீங்கள் விரைவாக பணிகளை மாற்ற வேண்டும் அல்லது ஒரு பிழையை சரிசெய்ய வேண்டும், ஆனால் உங்கள் வேலையை கமிட் செய்ய தயாராக இல்லை.
git stash உங்கள் கமிட் செய்யப்படாத மாற்றங்களை சேமிக்கவும் ஒரு சுத்தமான பணி கோப்பகத்திற்குத் திரும்பவும் உங்களை அனுமதிக்கிறது.
நீங்கள் பின்னர் திரும்பி வந்து உங்கள் மாற்றங்களை மீட்டெடுக்கலாம்.
பொதுவான பயன்பாட்டு நிகழ்வுகள்:
- பாதுகாப்பாக branches மாற்றவும்: branches மாற்றுவதற்கு முன் உங்கள் வேலையை சேமிக்கவும்
- அவசரநிலைகளை கையாளவும்: அவசரமான ஒன்றை சரிசெய்ய உங்கள் வேலையை stash செய்யவும், பின்னர் அதை மீட்டெடுக்கவும்
- செயல்பாட்டில் உள்ள உங்கள் வேலையை பாதுகாப்பாக வைக்கவும்: குழப்பமான கமிட்டுகள் அல்லது மாற்றங்களை இழப்பதை தவிர்க்கவும்
உங்கள் மாற்றங்களை Stash செய்யவும் (git stash)
உங்கள் தற்போதைய மாற்றங்களை (staged மற்றும் unstaged tracked கோப்புகள் இரண்டும்) சேமிக்கவும்:
எடுத்துக்காட்டு: உங்கள் வேலையை Stash செய்யவும்
git stash
Saved working directory and index state WIP on main: 1234567 Add new feature
எது stashed ஆகும்?
- Tracked கோப்புகள் (staged மற்றும் unstaged இரண்டும்) இயல்பாக stashed ஆகும்
- Untracked கோப்புகள் (இன்னும் Git-ல் சேர்க்கப்படாத புதிய கோப்புகள்) இயல்பாக stashed ஆகாது
- Untracked கோப்புகளையும் stash செய்ய,
git stash -u(அல்லது--include-untracked) பயன்படுத்தவும்
இந்த கட்டளை உங்கள் மாற்றங்களை சேமிக்கிறது மற்றும் உங்கள் பணி கோப்பகத்தை சுத்தம் செய்கிறது, அதனால் நீங்கள் பாதுகாப்பாக பணிகளை அல்லது branches மாற்றலாம்.
உங்கள் மாற்றங்கள் இப்போது ஒரு stack-ல் சேமிக்கப்பட்டுள்ளன.
Stash Stack என்றால் என்ன?
Stack கருத்து
நீங்கள் git stash இயக்கும் ஒவ்வொரு முறையும், உங்கள் மாற்றங்கள் ஒரு "stack"-ன் மேல் சேமிக்கப்படுகின்றன
மிகச் சமீபத்திய stash மேலே உள்ளது, மேலும் நீங்கள் stashes-ஐ மேலிருந்து கீழாக apply அல்லது drop செய்யலாம், அல்லது பட்டியலில் இருந்து ஒரு குறிப்பிட்ட ஒன்றை தேர்ந்தெடுக்கலாம்
சுத்தமான பணி கோப்பகம்
உங்கள் பணி கோப்பகம் சுத்தமாக உள்ளது, மேலும் நீங்கள் branches மாறலாம் அல்லது புதுப்பிப்புகளை pull செய்யலாம்
செய்தியுடன் Stash செய்யவும் (git stash push -m)
நீங்கள் எதை stash செய்தீர்கள் என நினைவில் வைக்க ஒரு செய்தியைச் சேர்க்கவும்:
எடுத்துக்காட்டு: செய்தியுடன் Stash செய்யவும்
git stash push -m "WIP: homepage redesign"
Saved working directory and index state On main: WIP: homepage redesign
குறிப்பு:
இந்த கட்டளை உங்கள் stash-க்கு ஒரு விளக்கமான செய்தியைச் சேர்க்க உங்களை அனுமதிக்கிறது, அதனால் நீங்கள் என்ன வேலை செய்துகொண்டிருந்தீர்கள் என நினைவில் வைக்க முடியும்.
அனைத்து Stashes-ஐ பட்டியலிடுங்கள் (git stash list)
உங்கள் அனைத்து சேமிக்கப்பட்ட stashes-ஐயும் பார்க்கவும்:
எடுத்துக்காட்டு: Stashes-ஐ பட்டியலிடவும்
git stash list
stash@{0}: On main: WIP: homepage redesign
stash@{1}: WIP on main: 1234567 Add new feature
இந்த கட்டளை இதுவரை நீங்கள் சேமித்த அனைத்து stashes-ஐயும், அவற்றின் பெயர்கள் மற்றும் செய்திகளுடன் காட்டுகிறது.
Stash விவரங்களைக் காட்டவும் (git stash show)
சமீபத்திய stash-ல் என்ன மாற்றம் செய்யப்பட்டது என்பதைப் பார்க்கவும்:
எடுத்துக்காட்டு: சமீபத்திய Stash-ஐக் காட்டவும்
git stash show
src/index.html | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
இந்த கட்டளை உங்கள் மிகச் சமீபத்திய stash-ல் எந்த கோப்புகள் மற்றும் மாற்றங்கள் உள்ளன என்பதின் சுருக்கத்தைத் தருகிறது.
முழு diff-ஐப் பார்க்க:
எடுத்துக்காட்டு: முழு Diff-ஐக் காட்டவும்
git stash show -p
diff --git a/src/index.html b/src/index.html
index 1234567..89abcde 100644
--- a/src/index.html
+++ b/src/index.html
@@ ...
இந்த கட்டளை உங்கள் மிகச் சமீபத்திய stash-ல் சரியாக எந்த வரிகள் மாற்றப்பட்டன என்பதைக் காட்டுகிறது.
சமீபத்திய Stash-ஐப் பயன்படுத்தவும் (git stash apply)
உங்கள் மிகச் சமீபத்திய stashed மாற்றங்களை மீட்டெடுக்கவும் (stash-ஐ stack-ல் வைத்திருக்கும்):
எடுத்துக்காட்டு: சமீபத்திய Stash-ஐப் பயன்படுத்தவும்
git stash apply
On branch main
Changes not staged for commit:
(use "git add ..." to update what will be committed)
(use "git restore ..." to discard changes in working directory)
modified: src/index.html
குறிப்பு:
இந்த கட்டளை உங்கள் மிகச் சமீபத்திய stashed மாற்றங்களை மீட்டெடுக்கிறது, ஆனால் stash-ஐ பட்டியலில் வைத்திருக்கிறது, அதனால் தேவைப்பட்டால் அதை மீண்டும் பயன்படுத்தலாம்.
குறிப்பிட்ட Stash-ஐப் பயன்படுத்தவும் (git stash apply stash@{n})
பட்டியலில் இருந்து ஒரு குறிப்பிட்ட stash-ஐ மீட்டெடுக்கவும்:
எடுத்துக்காட்டு: குறிப்பிட்ட Stash-ஐப் பயன்படுத்தவும்
git stash apply stash@{1}
On branch main
Changes not staged for commit:
modified: src/index.html
இந்த கட்டளை உங்கள் பட்டியலில் இருந்து மிகச் சமீபத்திய ஒன்றை மட்டும் அல்ல, ஒரு குறிப்பிட்ட stash-ஐ மீட்டெடுக்க உங்களை அனுமதிக்கிறது.
Stash-ஐ Pop செய்யவும் (git stash pop)
சமீபத்திய stash-ஐப் பயன்படுத்தவும் மற்றும் அதை stack-லிருந்து அகற்றவும்:
எடுத்துக்காட்டு: Stash-ஐ Pop செய்யவும்
git stash pop
On branch main
Changes not staged for commit:
modified: src/index.html
Dropped refs/stash@{0} (abc1234d5678)
இந்த கட்டளை உங்கள் மிகச் சமீபத்திய stash-ஐ மீட்டெடுக்கிறது மற்றும் அதே நேரத்தில் அதை பட்டியலில் இருந்து அகற்றுகிறது.
Stash-ஐ Drop செய்யவும் (git stash drop)
உங்களுக்கு இனி தேவையில்லாத போது ஒரு குறிப்பிட்ட stash-ஐ நீக்கவும்:
எடுத்துக்காட்டு: Stash-ஐ Drop செய்யவும்
git stash drop stash@{0}
Dropped stash@{0} (abc1234d5678)
இந்த கட்டளை உங்களுக்கு இனி தேவையில்லாத போது உங்கள் பட்டியலில் இருந்து ஒரு குறிப்பிட்ட stash-ஐ நீக்குகிறது.
அனைத்து Stashes-ஐயும் Clear செய்யவும் (git stash clear)
உங்கள் அனைத்து stashes-ஐயும் ஒரே நேரத்தில் நீக்கவும்:
எடுத்துக்காட்டு: அனைத்து Stashes-ஐயும் Clear செய்யவும்
git stash clear
⚠️ எச்சரிக்கை:
இந்த கட்டளை உங்கள் அனைத்து stashes-ஐயும் ஒரே நேரத்தில் நீக்குகிறது. கவனமாக இருங்கள்! இதை மீளமுடியாது!
Stash-லிருந்து Branch உருவாக்கவும் (git stash branch)
ஒரு புதிய branch உருவாக்கி அதற்கு ஒரு stash-ஐப் பயன்படுத்தவும்.
உங்கள் stashed வேலை அதன் சொந்த feature branch ஆக மாற வேண்டும் என்று நீங்கள் முடிவு செய்தால் பயனுள்ளது:
எடுத்துக்காட்டு: Stash-லிருந்து Branch உருவாக்கவும்
git stash branch new-feature stash@{0}
Switched to a new branch 'new-feature'
On branch new-feature
Changes not staged for commit:
modified: src/index.html
Dropped stash@{0} (abc1234d5678)
இந்த கட்டளை ஒரு புதிய branch உருவாக்கி உங்கள் stashed மாற்றங்களை அதற்குப் பயன்படுத்துகிறது.
உங்கள் வேலை அதன் சொந்த feature branch ஆக மாற வேண்டும் என்று நீங்கள் முடிவு செய்தால் இது பயனுள்ளதாக இருக்கும்.
Stashing-க்கான சிறந்த நடைமுறைகள்
பரிந்துரைகள்:
- Stashing செய்யும் போது தெளிவான செய்திகளைப் பயன்படுத்தவும்:
git stash push -m "WIP: feature name" - நீண்டகால சேமிப்பகமாக stashes-ஐப் பயன்படுத்த வேண்டாம்—முடிந்தால் உங்கள் வேலையை கமிட் செய்யவும்
- உங்கள் stash பட்டியலை தவறாமல் சரிபார்க்கவும் மற்றும் உங்களுக்கு இனி தேவையில்லாத பழைய stashes-ஐ சுத்தம் செய்யவும்
சிக்கல் தீர்வு
உங்கள் மாற்றங்களை இழந்துவிட்டீர்களா?
தீர்வு: stashed வேலையை மீட்டெடுக்க git stash list மற்றும் git stash apply முயற்சிக்கவும்
Stash சுத்தமாக apply ஆகவில்லையா?
தீர்வு: நீங்கள் conflicts-ஐ தீர்க்க வேண்டியிருக்கலாம், ஒரு merge போல
தீர்க்க உங்கள் கோப்புகளில் conflicts-ஐ Git குறிக்கும்
Untracked கோப்புகள் காணவில்லையா?
தீர்வு: இயல்பாக, untracked கோப்புகள் stashed ஆகாது
அவற்றை stash செய்ய வேண்டும் என்றால், அடுத்த முறை git stash -u பயன்படுத்தவும்
தவறுதலாக அனைத்து stashes-ஐயும் clear செய்துவிட்டீர்களா?
தீர்வு: துரதிர்ஷ்டவசமாக, git stash clear நிரந்தரமானது
அதை இயக்குவதற்கு முன் எப்போதும் இரட்டை சரிபார்க்கவும்!
குறிப்பு:
Stashes தற்காலிக வேலைக்கு பயனுள்ளதாக இருக்கும், ஆனால் கமிட்டுகளுக்கு பதிலாக அல்ல!
சுருக்கம்
நீங்கள் இப்போது கற்றுக்கொண்டவை:
- Git stash என்றால் என்ன மற்றும் எப்போது பயன்படுத்த வேண்டும்
- மாற்றங்களை stash செய்வது எப்படி
- Stashes-ஐ பட்டியலிடுவது மற்றும் அவற்றின் விவரங்களைப் பார்ப்பது எப்படி
- Stashes-ஐ apply, pop, மற்றும் drop செய்வது எப்படி
- Stash-லிருந்து புதிய branch உருவாக்குவது எப்படி
- Stashing-க்கான சிறந்த நடைமுறைகள்
- பொதுவான stash சிக்கல்களை சரிசெய்வது எப்படி
அடுத்து என்ன?
இப்போது தற்காலிக மாற்றங்களை stash செய்யத் தெரிந்து கொண்டீர்கள்! அடுத்த பாடத்தில், உங்கள் Git வரலாற்றை ஆராய்வது எப்படி என்பதைக் கற்றுக்கொள்வோம்.