මට පහත සඳහන් දේ සරල ආකාරයකින් කළ හැකිද?
git checkout origin/master
git branch -D master
git branch master
git checkout master
මට පහත සඳහන් දේ සරල ආකාරයකින් කළ හැකිද?
git checkout origin/master
git branch -D master
git branch master
git checkout master
Answers:
ලෙස KindDragon ගේ පිළිතුර සඳහන්, ඔබ එට සත්යවශයෙන්ම හැකි master
කෙලින් origin/master
සමග:
git checkout -B master origin/master
මෙම git checkout
man පිටුව සඳහන්:
නම් -B
ලබා දී ඇත, <new_branch>
එය නොපවතියි නම් නිර්මාණය ඇත; එසේ නොමැතිනම් එය නැවත සකසනු ලැබේ. මෙය ගණුදෙනු සමාන වේ
$ git branch -f <branch> [<start point>]
$ git checkout <branch>
Git 2.23+ (2019 අගෝස්තු), git checkout
අවුල් සහගත බැවින් , නව (තවමත් පර්යේෂණාත්මක) විධානය git switch
:
git switch -C master origin/master
එනම්:
-C <new-branch> --force-create <new-branch>
සමාන
--create
නම් හැර<new-branch>
දැනටමත් පවතී, එය වෙත යළි පිහිටුවීම කෙරේ<start-point>
.
මෙය පහසු කෙටිමඟකි:$ git branch -f <new-branch> $ git switch <new-branch>
මුලින් යෝජනා කළේ:
වැනි දෙයක්:
$ git checkout master
# remember where the master was referencing to
$ git branch previous_master
# Reset master back to origin/master
$ git reset --hard origin/master
දෙවන පියවර අත්යවශ්ය නොවේ.
Git මෙම විධානයට සහය දක්වයි:
git checkout -B master origin/master
origin/master
ශාඛාව පරීක්ෂා කර එහි ශාඛාව නැවත සකසන්න master
.
git fetch origin master
වී ඇති බවට සහතික වීමට පෙර ඔබට අවශ්ය origin/master
නොවේද?
git fetch
පළමු
මෙම විකල්පයට සාපේක්ෂව VonC හි පිළිතුරට පවා සංකීර්ණ බවක් ඇතැයි මම සිතමි.
git update-ref refs/heads/master origin/master
git reset --hard master
git ස්වයංක්රීයව ref හි සෑම අගයක්ම ලොග් කරයි (reflog හරහා). එබැවින් ඔබ එම විධානය ක්රියාත්මක කිරීමෙන් පසුව master@{1}
, මාස්ටර්ගේ පෙර අගය සඳහන් කරයි.
VonC හි පිළිතුර නිවැරදි ය, නමුත් එය ගොනු පද්ධතියට මාස්ටර්ගේ පැරණි වටිනාකම පරීක්ෂා කිරීමට කාලය නාස්ති කරයි.
ඔබ repo හි ඇති අනාථ වස්තූන් ගැන සැලකිලිමත් වන්නේ නම්, එවිට ඔබට ධාවනය කළ හැකිය git gc
Already on 'master'
ඔබ දැනටමත් සිටී නම් ඔබට master
පහත සඳහන් දෑ කළ හැකිය:
git reset --hard origin/master
එමඟින් දේශීය master
ශාඛාව origin/master
දුරස්ථයට යොමු කරන අතර වැඩ කරන ඕනෑම වෙනස් කිරීමක් ඉවතලනු ඇත.
git checkout -B master origin/master
?