මම git stash pop
සෑහෙන කාලයක් තිස්සේ පාවිච්චි කරනවා. මම මෑතකදී git stash apply
විධානය ගැන දැනගත්තා . මම එය අත්හදා බැලූ විට, එය එලෙසම ක්රියාත්මක වන බවක් පෙනෙන්නට තිබුණි git stash pop
.
git stash pop
සහ අතර ඇති වෙනස git stash apply
කුමක්ද?
මම git stash pop
සෑහෙන කාලයක් තිස්සේ පාවිච්චි කරනවා. මම මෑතකදී git stash apply
විධානය ගැන දැනගත්තා . මම එය අත්හදා බැලූ විට, එය එලෙසම ක්රියාත්මක වන බවක් පෙනෙන්නට තිබුණි git stash pop
.
git stash pop
සහ අතර ඇති වෙනස git stash apply
කුමක්ද?
Answers:
git stash pop
එය යෙදීමෙන් පසු (ඉහළම, පෙරනිමියෙන්) තොගය ඉවතට විසි කරන අතර, පසුව නැවත භාවිතා කිරීම සඳහා git stash apply
එය තොග ලැයිස්තුවේ තබයි (නැතහොත් ඔබට git stash drop
එය කළ හැකිය ).
මෙය සිදුවන්නේ පසු ගැටුම් ඇති නොවන්නේ නම් git stash pop
, එම අවස්ථාවේ දී එය තොගය ඉවත් නොකර, හරියටම හැසිරීමට ඉඩ හරියි git stash apply
.
එය බැලීමට තවත් ක්රමයක්: git stash pop
වේ git stash apply && git stash drop
.
git stash pop
, ඔබට තවමත් ගැටුම් දෝෂයක් ලැබෙනු ඇති බව පෙනේ.
ජෝන් ස්වින්ක් ප්රකාශ කර ඇති පරිදි වෙනස සඳහන් කරන මෙම ප්රයෝජනවත් සබැඳිය සහ එහි අඩුපාඩුවක් තිබේ git stash pop
.
නිදසුනක් ලෙස, ඔබ මුලින්ම තොගය නිර්මාණය කළ දින සිට ඔබ විසින් සිදු කරන ලද වෙනත් වෙනස්කම් සමඟ ඔබේ ගබඩා කර ඇති වෙනස්කම් ගැටෙන බව පවසන්න. පොප් සහ අයදුම් කිරීම යන දෙකම ඒකාබද්ධ කිරීම ගැටුම් නිරාකරණ මාදිලිය අවුලුවන අතර එවැනි ගැටුම් මනාව නිරාකරණය කර ගැනීමට ඔබට ඉඩ සලසයි… තවද ඔබ පොප් ද අපේක්ෂා කළත් තොගයෙන් මිදෙන්නේ නැත. බොහෝ අය බලාපොරොත්තු වන්නේ තොග සරල තොගයක් පමණක් වනු ඇති බැවින්, මෙය බොහෝ විට ඔවුන් එම තොගය අහම්බෙන් පසුපසට ඇද දමන්නේ එය නැතිවී යයි සිතූ බැවිනි.
සබැඳිය: http://codingkilledthecat.wordpress.com/2012/04/27/git-stash-pop-considered-harmful/
එය ක්රියාවෙන් දැකීමෙන් වෙනස වඩා හොඳින් තේරුම් ගැනීමට ඔබට හැකි වේ.
අපි master
ශාඛාවේ වැඩ කරමින් hello.txt
"හලෝ" නූල අඩංගු ගොනුවක් ඇතැයි සිතමු .
අපි ගොනුව වෙනස් කර එයට "ලෝක" නූල එකතු කරමු. දැන් ඔබට හමු වූ සුළු දෝෂයක් නිවැරදි කිරීම සඳහා වෙනත් ශාඛාවකට යාමට ඔබට අවශ්යය, එබැවින් ඔබට stash
ඔබගේ වෙනස්කම් අවශ්ය වේ :
git stash
ඔබ අනෙක් ශාඛාවට ගොස් දෝෂය නිරාකරණය කර ඇති අතර දැන් ඔබ ඔබේ master
ශාඛාවේ දිගටම වැඩ කිරීමට සූදානම් , එබැවින් ඔබ pop
වෙනස්කම්:
git stash pop
දැන් ඔබ තොග අන්තර්ගතය සමාලෝචනය කිරීමට උත්සාහ කළහොත් ඔබට ලැබෙනුයේ:
$ git stash show -p
No stash found.
කෙසේ වෙතත්, ඔබ git stash apply
ඒ වෙනුවට භාවිතා කරන්නේ නම්, ඔබට ගබඩා කළ අන්තර්ගතය ලැබෙනු ඇත, නමුත් ඔබ එය තබා ගනී:
$ git stash show -p
diff --git a/hello.txt b/hello.txt
index e965047..802992c 100644
--- a/hello.txt
+++ b/hello.txt
@@ -1 +1 @@
-Hello
+Hello world
ඒ නිසා pop
දැන් අඩුක්කුව විසින් පොප් වගේ - ඒක ඇත්තටම අතර, එය පැය කාලක පමණ වෙනවා වරක් අංගයක් ඉවත් apply
වැඩි වගේ නීච .
දී git
මත්කුඩු ග්රෑම් වත්මන් වෙනස්කම් ගොනු මාරු කර ගත හැකිය ගබඩා ප්රදේශයකි.
stash
ඔබට ගබඩාවෙන් යම් යම් වෙනස්කම් ඇද ගැනීමට අවශ්ය වූ විට සහ ප්රදේශය git
තුළ ඇති සමහර අන්යොන්ය ලිපිගොනු වල යම් යම් වෙනස්කම් අනාවරණය කර ගැනීමට අවශ්ය වූ විට ප්රදේශය ප්රයෝජනවත් වේ git
.
git stash apply //apply the changes without removing stored files from stash area.
git stash pop // apply the changes as well as remove stored files from stash area.
සටහන: -
git apply
එකම මැට්ටෙක් ප්රදේශයේ වෙනස්කම් අතර අදාළgit pop
මෙන්ම අදාළ ලෙස ඉවත් වෙනස්stash
ප්රදේශයේ.
Git Stash Pop vs apply
වැඩ කිරීම
ඔබගේ ඉහළ මට්ටමේ වෙනස්කම් වර්තමාන වේදිකාගත නොවන වෙනස්වීම් වලට යෙදවීමට සහ එම තොගය මකා දැමීමට ඔබට අවශ්ය නම්, ඔබ ඒ සඳහා යා යුතුය git stash pop
.
# apply the top stashed changes and delete it from git stash area.
git stash pop
නමුත් ඔබගේ ඉහළම තැන්පත් කර ඇති වෙනස්කම් මකා නොදමමින් වර්තමාන වේදිකාගත නොවන වෙනස්වීම් වලට යෙදවීමට ඔබට අවශ්ය නම්, ඔබ ඒ සඳහා යා යුතුය git stash apply
.
සටහන: ඔබට මෙම නඩුව
Stack
පන්තියpop()
හාpeek()
ක්රම සමඟ සම්බන්ධ කළ හැකිය , එහිදී පොප් ඉහළට අඩු කිරීම් වලින් වෙනස් කරයි (ඉහළ = ඉහළ -1) නමුත්peek()
ඉහළ මූලද්රව්යය ලබා ගත හැක්කේ.