Git හි අපට පහත දැක්වෙන තත්වය ඇති බව කියමු:
සාදන ලද ගබඩාවක්:
mkdir GitTest2 cd GitTest2 git init
ස්වාමියාගේ සමහර වෙනස් කිරීම් සිදු වන අතර කැපවීම:
echo "On Master" > file git commit -a -m "Initial commit"
Feature1 අතු බෙදී ඇති මාස්ටර් සහ සමහර වැඩ කටයුතු සිදු කරයි:
git branch feature1 git checkout feature1 echo "Feature1" > featureFile git commit -a -m "Commit for feature1"
මේ අතර, ප්රධාන කේතයේ දෝෂයක් සොයාගෙන හොට්ෆික්ස් ශාඛාවක් ස්ථාපිත කර ඇත:
git checkout master git branch hotfix1 git checkout hotfix1
දෝෂය හොට්ෆික්ස් ශාඛාව තුළ සවි කර නැවත ස්වාමියා සමඟ ඒකාබද්ධ කරයි (සමහර විට අදින්න / කේත සමාලෝචනයෙන් පසුව):
echo "Bugfix" > bugfixFile git commit -a -m "Bugfix Commit" git checkout master git merge --no-ff hotfix1
විශේෂාංග 1 හි සංවර්ධනය අඛණ්ඩව:
git checkout feature1
මගේ විශේෂාංග ශාඛාවේ හොට්ෆික්ස් අවශ්ය යැයි පවසන්න, දෝෂය ද එහි ඇති නිසා විය හැකිය. මගේ විශේෂාංග ශාඛාවට කොමිස් අනුපිටපත් නොකර මෙය සාක්ෂාත් කර ගන්නේ කෙසේද?
විශේෂාංග ක්රියාත්මක කිරීමට කිසිදු සම්බන්ධයක් නැති මගේ විශේෂාංග ශාඛාවට නව කොමිස් දෙකක් ලබා ගැනීම වැළැක්වීමට මට අවශ්යය. මම අදින්න ඉල්ලීම් භාවිතා කරන්නේ නම් මෙය මට ඉතා වැදගත් බව පෙනේ: මෙම සියලු කැපවීම් ද අදින්න ඉල්ලීමට ඇතුළත් වන අතර මෙය දැනටමත් සිදු කර ඇතත් සමාලෝචනය කළ යුතුය (හොට්ෆික්ස් දැනටමත් මාස්ටර් තුළ ඇති බැවින්).
මට මෙය කළ නොහැක git merge master --ff-only
: "මාරාන්තික: වේගයෙන් ඉදිරියට යා නොහැක, ගබ්සා කිරීම.", නමුත් මෙය මට උපකාරවත් වූයේ දැයි මට විශ්වාස නැත.
git rebase
මට මැජික් එකක් සේ පෙනේ ....
git branch feature1
හා git checkout feature1
බවට සංයුක්ත කර ගත හැකි විය git checkout -b feature1
සහ 4. සම්පූර්ණයෙන්ම දක්වා අඩු කළ හැකිgit checkout -b hotfix1 master
feature1
සම්පූර්ණයෙන්ම දේශීය නම්, බලන්නgit rebase
.