ඔබ තවම කිසිදු කැපවීමක් කර නොමැති නම්, (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