කෙටි පිළිතුර:
git reset 'HEAD@{1}'
දිගු පිළිතුර:
Git සියළුම ref යාවත්කාලීන කිරීම් වල ලොගයක් තබා ගනී (උදා: පිටවීම, යළි පිහිටුවීම, කැපවීම, ඒකාබද්ධ කිරීම). ටයිප් කිරීමෙන් ඔබට එය නැරඹිය හැකිය:
git reflog
මෙම ලැයිස්තුවේ කොතැනක හෝ ඔබට අහිමි වූ කැපවීම වේ. අපි දැන් ටයිප් git reset HEAD~
කර එය අහෝසි කිරීමට අවශ්ය යැයි කියමු . මගේ පරාවර්තනය මේ වගේ ය:
$ git reflog
3f6db14 HEAD@{0}: HEAD~: updating HEAD
d27924e HEAD@{1}: checkout: moving from d27924e0fe16776f0d0f1ee2933a0334a4787b4c
[...]
පළමු පේළියේ HEAD
ස්ථාන 0 කට පෙර (වෙනත් වචන වලින් කිවහොත්, වත්මන් පිහිටීම) 3f6db14; එය නැවත සැකසීමෙන් ලබා ගන්නා ලදි HEAD~
. දෙවන පේළියේ සඳහන් වන්නේ HEAD
1 ස්ථානයට පෙර (වෙනත් වචන වලින් කිවහොත්, යළි පිහිටුවීමට පෙර තත්වය) d27924e බවයි. එය ලබාගෙන ඇත්තේ විශේෂිත බැඳීමක් පරීක්ෂා කිරීමෙනි (එය දැන් වැදගත් නොවේ). එබැවින්, යළි පිහිටුවීම අහෝසි කිරීමට, ධාවනය කරන්න git reset HEAD@{1}
(හෝ git reset d27924e
).
අනෙක් අතට, ඔබ එතැන් සිට වෙනත් විධානයන් කිහිපයක් ක්රියාත්මක කර ඇත්නම්, එම යාවත්කාලීනය HEAD නම්, ඔබට අවශ්ය කැපවීම ලැයිස්තුවේ ඉහළින්ම නොපවතින අතර, ඔබ හරහා සෙවිය යුතුය reflog
.
එක් අවසාන සටහනක්: reflog
ඔබට නැවත සැකසීමට අවශ්ය විශේෂිත ශාඛාව දෙස බැලීම පහසු විය හැකිය , ඒ වෙනුවට ස්වාමියා කියන්න HEAD
:
$ git reflog show master
c24138b master@{0}: merge origin/master: Fast-forward
90a2bf9 master@{1}: merge origin/master: Fast-forward
[...]
මෙය සාමාන්යයට වඩා අඩු ශබ්දයක් තිබිය යුතුය HEAD reflog
.