මගේ මූලාශ්රය / ගබඩාව git pull කිරීමට පෙර තිබූ පැරණි තත්වයට පැමිණීමට හැකිවන පරිදි git pull ආපසු හැරවීමට හෝ අහෝසි කිරීමට ක්රමයක් තිබේද? මට මෙය කිරීමට අවශ්ය වන්නේ එය මට අවශ්ය නොවූ සමහර ගොනු ඒකාබද්ධ කළ නමුත් ඉතිරි ගොනු පමණක් ඒකාබද්ධ කිරීම නිසාය. ඉතින්, මට එම ලිපිගොනු නැවත ලබා ගැනීමට අවශ්යයි, එය කළ හැකිද?
සංස්කරණය කරන්න: පැහැදිලි කිරීම සඳහා මට git ඒකාබද්ධ කිරීම අහෝසි කිරීමට අවශ්යයි. පිළිතුරු කිහිපයක් දැකීමෙන් පසු මම මෙය කළෙමි
git reflog
bb3139b... HEAD@{0}: pull : Fast forward
01b34fa... HEAD@{1}: clone: from ...name...
දැන්, මා කුමක් කළ යුතුද? කරන්නේ git reset --hard
හරිද? මට එය නැවත ඉස්කුරුප්පු කිරීමට අවශ්ය නැත, එබැවින් සවිස්තරාත්මක පියවර ඉල්ලා සිටීද?
git reflog
git සමඟ කර ඇති සියල්ල සියල්ල පෙන්වනු ඇත. සමහර විට ඉලක්කයක් නොවන, git reset --hard [sha1 of something from reflog]
පෙන්වා ඇති දේ සියල්ල ආපසු හරවනු ඇතැයි සැලකිලිමත් reflog
වේ. නරක දත්ත සමඟ ආරම්භයේ සිට ඇද ගන්නා ලද ප්රධාන ශාඛාව නැවත ඒකාබද්ධ කිරීමට ඔබට අවශ්යය (සිදු වේ), එම ඒකාබද්ධ කිරීමෙන් පසුව ඔබ වෙනත් ශාඛා වල වැඩ කර ඇත. reflog
සෑම ශාඛාවක්ම වෙනත් ශාඛා වල පෙන්වනු ඇත. නමුත් git checkout master
සහ git reset --hard [SH1 of commit on master branch just before merge]
නැවත සැකසෙන්නේ වත්මන් ප්රධාන ශාඛාව පමණි.
git reset --hard 01b34fa
මේ අවස්ථාවේ දී ඔබටgit reset --hard HEAD^
HEAD ට පෙර එක් කැපවීමකට නැවත සැකසෙන දේ කළ හැකිව තිබුණි .