හරි, මම හිතුවා මේක සරල වාතාවරණයක් කියලා, මට මොනවද නැති වෙලා තියෙන්නේ?
මට master
ශාඛාවක් හා feature
ශාඛාවක් තිබේ. මම යම් වැඩක් කරමි master
, සමහරක් ක්රියාත්මක වේ feature
, පසුව තවත් සමහරක් කරන්නෙමි master
. මම මේ වගේ දෙයකින් අවසන් වෙමි (ශබ්දකෝෂ අනුපිළිවෙලෙන් අදහස් කරන්නේ අනුපිළිවෙලයි):
A--B--C------F--G (master)
\
D--E (feature)
git push origin master
දුරස්ථව master
යාවත්කාලීනව තබා ගැනීමට හෝ git push origin feature
(වැඩ කරන විට feature
) මගේ feature
වැඩ සඳහා දුරස්ථ උපස්ථයක් පවත්වා ගැනීමට මට කිසිදු ගැටළුවක් නොමැත . මේ වන තුරු, අපි හොඳයි.
ඒත් දැන් මම rebase කිරීමට අවශ්ය feature
වූ මත F--G
ස්වාමියා මත අනාචාරයේ, ඒ නිසා මම git checkout feature
සහ git rebase master
. තවමත් හොඳ. දැන් අපට ඇත්තේ:
A--B--C------F--G (master)
\
D'--E' (feature)
ප්රශ්නය: දත්ත උපස්ථ කිරීමට මට අවශ්ය මේ මොහොතේ නව rebased feature
සමග අතු git push origin feature
, තල්ලුව ප්රතික්ෂේප ගස නිසා rebasing වෙනස් කර ඇති බැවින්. මෙය විසඳිය හැක්කේ සමඟ පමණි git push --force origin feature
.
මට --force
එය අවශ්ය බව නොදැන මම භාවිතා කිරීමට අකමැතියි. ඉතින්, මට එය අවශ්යද? ප්රතිප්රහාරයෙන් අනිවාර්යයෙන්ම ඇඟවෙන්නේ ඊළඟට පූර්ණ push
විය යුතු බවයි --force
?
මෙම ලක්ෂණය ශාඛා මට කිසිම ප්රශ්නයක් තියෙනවා ඒ නිසා, වෙනත් ඕනෑම devs සමග බෙදා නොවේ තත්වාකාර , බලය තල්ලුව ද සමග මම කිසිම දත්ත අහිමි යන්නේ නෑ, ප්රශ්නය තවත් සංකල්පීය වේ.