ඔබ තවම කිසිදු කැපවීමක් කර නොමැති නම්, (1: ශාඛාව) සහ (3: පිටවීම) පමණක් ප්රමාණවත් වේ.
නැතහොත්, එක් විධානයකින්:git checkout -b newBranch
git reset
මෑන් පිටුවේ සඳහන් පරිදි :
$ git branch topic/wip # (1)
$ git reset --hard HEAD~3 # (2) NOTE: use $git reset --soft HEAD~3 (explanation below)
$ git checkout topic/wip # (3)
- ඔබ යම් යම් කැපවීම් කර ඇත, නමුත් ඒවා "
master
" ශාඛාවේ සිටීමට නොමේරූ බව තේරුම් ගන්න . මාතෘකා ශාඛාවක ඒවා ඔප දැමීම දිගටම කරගෙන යාමට ඔබට අවශ්යය, එබැවින් ධාරාවෙන් topic/wip
ශාඛා කපා ඉවත් කරන්න HEAD
.
- එම කොමිස්
master
තුනෙන් මිදීමට ශාඛාව පෙරළන්න.
- "
topic/wip
" ශාඛාවට මාරු වී වැඩ කරන්න.
සටහන: විධානයක “විනාශකාරී” බලපෑම හේතුවෙන් git reset --hard
(එය දර්ශකය සහ වැඩ කරන ගස යළි පිහිටුවයි. වැඩ කරන ගසෙහි ලුහුබැඳ ඇති ලිපිගොනු වල කිසියම් වෙනසක් <commit>
ඉවතලන බැවින් ), මම ඒ සමඟ යන්නෙමි:
$ git reset --soft HEAD~3 # (2)
මෙය මට කිසිදු පුද්ගලික ගොනුවක් අහිමි නොවන බවට සහතික වනු ඇත (දර්ශකයට එකතු කර නැත).
මෙම --soft
විකල්පය භාවිතා කරන්නේ (නමුත් හිස ගන්න පුලුවන් සියලු දී දර්ශකය ගොනුව හෝ කම්කරු ගසක් ස්පර්ශ නොකරන <commit>
සියලු මාතයන් කරන්න වගේ,).
Git 2.23+ සමඟ , නව විධානයgit switch
මඟින් ශාඛාව එක පේළියකින් නිර්මාණය කරනු ඇත (එකම ආකාරයේ reset --hard
, එබැවින් එහි බලපෑම ගැන පරිස්සම් වන්න):
git switch -f -c topic/wip HEAD~3