මම බොහෝ විට භාවිතා කරන්නේ මෙයයි:
git fetch upstream develop;
git reset --hard upstream/develop;
git clean -d --force;
එය ඔබගේ දේශීය ස්වාමියා වෙනස්කම් / සංවර්ධනය ශාඛා නොකරන හොඳ ක්රමයක් වන්නේ, එහෙත් ඒ වෙනුවට ලොව පුරාවටම ඕනෑම වෙනසක් සඳහා තවත් ශාඛා කිරීමට, වෙනස් වර්ගය විසින් prepended ශාඛා නම සමඟ, උදා: බව සටහන feat/
, chore/
, fix/
, ආදිය ඒ නිසා ඔබ පමණක් අවශ්ය වෙනස්කම් අදින්න, ස්වාමියාගෙන් කිසිදු වෙනසක් තල්ලු නොකරන්න. අනෙක් අය දායක වන වෙනත් ශාඛා සඳහා එකම දේ. එබැවින් ඉහත සඳහන් කළ යුත්තේ ඔබ අන් අය කැපවී ඇති ශාඛාවකට වෙනස්කම් කිරීමට සිදුවී ඇත්නම් සහ නැවත සැකසීමට අවශ්ය නම් පමණි. එසේ නොමැතිනම් අනාගතයේ දී අනෙක් අය තල්ලු කරන ශාඛාවකට තල්ලු වීමෙන් වළකින්න, ඒ වෙනුවට පරීක්ෂා කර බලා පරීක්ෂා කළ ශාඛාව හරහා එම ශාඛාවට තල්ලු කරන්න.
ඔබේ ප්රාදේශීය ශාඛාව උඩුමහලේ ශාඛාවේ නවතම බැඳීම වෙත නැවත සැකසීමට ඔබට අවශ්ය නම්, මෙතෙක් මා වෙනුවෙන් ක්රියාත්මක වූයේ:
ඔබගේ දුරස්ථ පරික්ෂා කරන්න, ඔබේ උඩු යටිකුරු සහ සම්භවය ඔබ අපේක්ෂා කරන දේ බවට වග බලා ගන්න, අපේක්ෂා කළ පරිදි නොවේ නම් භාවිතා කරන්න git remote add upstream <insert URL>
, උදා: ඔබ විසින් ලබා දුන් මුල් GitHub repo හි සහ / හෝ git remote add origin <insert URL of the forked GitHub repo>
.
git remote --verbose
git checkout develop;
git commit -m "Saving work.";
git branch saved-work;
git fetch upstream develop;
git reset --hard upstream/develop;
git clean -d --force
GitHub හි, ඔබට එහි වැඩ සුරැකීම සඳහා, ප්රාදේශීය නම මෙන් එකම ශාඛාව පිරික්සා බැලිය හැකිය, මූලාරම්භක සංවර්ධනය දේශීය සුරැකුම්-වැඩ ශාඛාවට සමාන වෙනස්කම් තිබේ නම් මෙය අවශ්ය නොවේ. මම සංවර්ධිත ශාඛාව උදාහරණයක් ලෙස භාවිතා කරමි, නමුත් එය දැනට පවතින ඕනෑම ශාඛා නාමයක් විය හැකිය.
git add .
git commit -m "Reset to upstream/develop"
git push --force origin develop
යම් යම් ගැටුම් පවතින විට මෙම වෙනස්කම් වෙනත් ශාඛාවක් සමඟ ඒකාබද්ධ කිරීමට ඔබට අවශ්ය නම්, සංවර්ධනයේ වෙනස්කම් ආරක්ෂා කර ගැනීමට, භාවිතා කරන්න:
git merge -s recursive -X theirs develop
භාවිතා කරන අතරතුර
git merge -s recursive -X ours develop
ශාඛා නාමයේ පරස්පර වෙනස්කම් ආරක්ෂා කිරීමට. එසේ නොමැතිනම් mergetool භාවිතා කරන්නgit mergetool
.
සියලු වෙනස්කම් එකට:
git commit -m "Saving work.";
git branch saved-work;
git checkout develop;
git fetch upstream develop;
git reset --hard upstream/develop;
git clean -d --force;
git add .;
git commit -m "Reset to upstream/develop";
git push --force origin develop;
git checkout branch_name;
git merge develop;
උඩු යටිකුරු කිරීම / සංවර්ධනය කිරීම වෙනුවට ඔබට කැපකිරීමේ හැෂ්, වෙනත් ශාඛා නාමයක් භාවිතා කළ හැකි බව සලකන්න. ඔබේ ශාඛාව හරිතද යන්න පරීක්ෂා කිරීමට ඕ මයි ස්ෂ් වැනි CLI මෙවලමක් භාවිතා කරන්න. එය සනාථ කර හෝ සත්යාපනය කළ හැකි git status
). කැපවීමකින් ස්වයංක්රීයව යමක් එකතු වී ඇත්නම් මෙය උඩුමහලේ සංවර්ධනයට සාපේක්ෂව කොමිස් එකතු කළ හැකි බව සලකන්න, උදා: යූඑම්එල් රූප සටහන්, බලපත්ර ශීර්ෂ යනාදිය. එබැවින් එවැනි අවස්ථාවකදී ඔබට අවශ්ය නම් වෙනස්කම් වෙත origin develop
යොමු කළ හැකිය upstream develop
.
git status
ඔබගේ දෙවන විධානයේ ප්රතිදානය අනුවgit reset --hard HEAD
අසමත් විය. ඔබ එහි ප්රතිදානය අලවා නැත. . අසම්පූර්ණ ප්රශ්නය.