මම මෙම වචන උපවර්ෂන් (සහ සාමාන්ය ගබඩාව අනුමාන කරමි) සාකච්ඡා වටා බොහෝ දේ දැක ඇත්තෙමි.
මම පසුගිය වසර කිහිපය තුළ මගේ ව්යාපෘති සඳහා SVN භාවිතා කළ නමුත් මෙම නාමාවලිවල සම්පූර්ණ සංකල්පය මා කිසි විටෙකත් ග්රහණය කර ගෙන නොමැත.
ඔවුන් මොකක්ද අදහස් කරන්නේ?
මම මෙම වචන උපවර්ෂන් (සහ සාමාන්ය ගබඩාව අනුමාන කරමි) සාකච්ඡා වටා බොහෝ දේ දැක ඇත්තෙමි.
මම පසුගිය වසර කිහිපය තුළ මගේ ව්යාපෘති සඳහා SVN භාවිතා කළ නමුත් මෙම නාමාවලිවල සම්පූර්ණ සංකල්පය මා කිසි විටෙකත් ග්රහණය කර ගෙන නොමැත.
ඔවුන් මොකක්ද අදහස් කරන්නේ?
Answers:
හ්ම්, නික් රී ටැගය ශාඛාවකට සමාන වීම ගැන මම එකඟ වෙමි. ටැගයක් යනු සලකුණු කිරීමකි
කඳ මෙම ව්යාපෘතිය ආරම්භයේ සිට වර්තමානය දක්වා සංවර්ධනය, ප්රභවය ප්රධාන ශරීරය වනු ඇත.
ශාඛාව කඳෙහි එක්තරා ස්ථානයකින් ලබාගත් කේතයේ පිටපතක් වන අතර එය කේතයේ විශාල වෙනස්කම් යෙදීම සඳහා භාවිතා කරන අතර කඳෙහි කේතයේ අඛණ්ඩතාව ආරක්ෂා කරයි. ප්රධාන වෙනස්කම් සැලැස්ම අනුව ක්රියාත්මක වන්නේ නම්, ඒවා සාමාන්යයෙන් කඳට ඒකාබද්ධ වේ.
ටැගය කඳේ හෝ ඔබ සංරක්ෂණය කිරීමට කැමති ශාඛාවක වේලාව වේ. සංරක්ෂණය සඳහා ප්රධාන හේතු දෙක වනුයේ එක්කෝ මෙය මෘදුකාංගයේ ප්රධාන නිකුතුවක් වන ඇල්ෆා, බීටා, ආර්සී හෝ ආර්ටීඑම් වේවා, නැතහොත් කඳෙහි ප්රධාන සංශෝධන යෙදීමට පෙර මෘදුකාංගයේ වඩාත්ම ස්ථාවර ලක්ෂ්යය මෙය වීමයි.
විවෘත මූලාශ්ර ව්යාපෘති වලදී, ව්යාපෘති පාර්ශවකරුවන් විසින් කඳට නොපිළිගන්නා ප්රධාන ශාඛා දෙබලක පදනම් බවට පත්විය හැකිය - උදා: වෙනත් ප්රභව කේත සමඟ පොදු සම්භවයක් ඇති සම්පූර්ණයෙන්ම වෙනම ව්යාපෘති.
ශාඛාව සහ ටැග් උපසිරැසි කඳෙන් පහත දැක්වෙන ආකාරවලින් වෙන්කර හඳුනාගත හැකිය:
උපසිරැසි මඟින් යම් යම් සිදුවීම් සිදු වූ විට ක්රියාත්මක කිරීම සඳහා අවුලුවන කොකු ස්ක්රිප්ට් නිර්මාණය කිරීමට සිසැඩ්මින්වරුන්ට ඉඩ දෙයි ; උදාහරණයක් ලෙස, නිධියෙහි වෙනසක් සිදු කිරීම. “/ ටැග් /” අඩංගු ඕනෑම මාර්ගයක් නිර්මාණය කිරීමෙන් පසු ලිඛිතව ආරක්ෂා කර ගැනීම සඳහා සාමාන්ය උපසිරැසි ගබඩාවක් ක්රියාත්මක කිරීම සාමාන්ය දෙයකි; ශුද්ධ ප්රති result ලය නම්, වරක් නිර්මාණය කළ ටැගයන් වෙනස් කළ නොහැකි වීමයි (අවම වශයෙන් “සාමාන්ය” පරිශීලකයින්ට). මෙය සිදු කරනු ලබන්නේ කොකු ස්ක්රිප්ට් හරහා වන අතර, ටැගය වෙනස් කළ වස්තුවේ මව් නෝඩයක් නම් වැඩිදුර වෙනස්වීම් වලක්වා ගත හැකිය.
1.5 වන අනුවාදයේ සිට “ශාඛා ඒකාබද්ධ කිරීමේ ලුහුබැඳීම” හා සම්බන්ධ විශේෂාංග එකතු කර ඇති අතර එමඟින් ශාඛාවක් සඳහා සිදුකරන ලද වෙනස්කම් වර්ධක “ස්මාර්ට්” ඒකාබද්ධ කිරීම සඳහා ආධාරයෙන් කඳට නැවත ඒකාබද්ධ කළ හැකිය.
Tags
නාමාවලිය බොහෝ විට සාමාන්ය පරිශීලකයා විසින් සන්ධිස්ථාන පරීක්ෂාව සහ සත්යාපනය සඳහා භාවිතා කරයි. මූලාකෘතියක් ද තැබීමට මෙය හොඳ ස්ථානයක් වනු ඇත (මගේ හිසට ඉහළින් අදහස් කිහිපයක්).
පළමුවෙන්ම, ඇන්ඩ rew ෆිනෙල් සහ en කෙන්ලියු පෙන්වා දෙන පරිදි, එස්.වී.එන්. හි නාමාවලි නාම වලින් කිසිවක් අදහස් නොකෙරේ - “කඳ, අතු සහ ටැග්” යනු බොහෝ ගබඩාවන් විසින් භාවිතා කරනු ලබන පොදු සම්මුතියකි. සෑම ව්යාපෘතියක්ම සියලුම නාමාවලි භාවිතා නොකරයි (“ටැග්” කිසිසේත් භාවිතා නොකිරීම සාධාරණයි), ඇත්ත වශයෙන්ම, සම්මුතිය බිඳ දැමීම බොහෝ විට ව්යාකූල වුවද, ඔබ කැමති ඕනෑම දෙයක් ඔවුන් ඇමතීමෙන් කිසිවක් ඔබව වළක්වන්නේ නැත.
මම බොහෝ විට ශාඛා හා ටැග් වල බහුලව භාවිතා වන අවස්ථාව විස්තර කර ඒවා භාවිතා කරන ආකාරය පිළිබඳ උදාහරණයක් දෙන්නෙමි.
කඳ : ප්රධාන සංවර්ධන ප්රදේශය. ඔබේ ඊළඟ ප්රධාන නිකුතුව ජීවත්වන ස්ථානය මෙය වන අතර සාමාන්යයෙන් සියලු නවතම අංග ඇත.
ශාඛා : ඔබ ප්රධාන අනුවාදයක් නිකුත් කරන සෑම අවස්ථාවකම එයට ශාඛාවක් නිර්මාණය වේ. අළුත්ම - සමහර විට නිම නොකළ හෝ පරීක්ෂා නොකළ - විශේෂාංග නිකුත් නොකර දෝෂ නිරාකරණය කිරීමට සහ නව නිකුතුවක් කිරීමට මෙය ඔබට ඉඩ දෙයි.
ටැග් : ඔබ අනුවාදයක් නිකුත් කරන සෑම අවස්ථාවකම (අවසාන නිකුතුව, අපේක්ෂකයින් මුදා හැරීම (ආර්සී) සහ බීටා) ඔබ ඒ සඳහා ටැගයක් සාදයි. මෙමඟින් ඔබට එම කේතයේ නියමිත වේලාවට පිටපතක් ලබා ගත හැකි අතර, අතීත අනුවාදයක අවශ්ය නම් ඕනෑම දෝෂයක් නැවත ලබා ගැනීමට හෝ අතීත අනුවාදයක් නැවත නිකුත් කිරීමට ඔබට ඉඩ සලසයි. SVN හි ශාඛා සහ ටැග් සැහැල්ලු ය - සේවාදායකයේ, එය ලිපිගොනු වල සම්පූර්ණ පිටපතක් සාදන්නේ නැත, “මෙම සංශෝධනයේදී මෙම ලිපිගොනු පිටපත් කරන ලදි” යනුවෙන් සලකුණු කරුවෙකු බයිට් කිහිපයක් පමණක් ගනී. මෙය මනසේ තබාගෙන, මුදා හරින ලද කේතයක් සඳහා ටැගයක් නිර්මාණය කිරීම ගැන ඔබ කිසි විටෙකත් සැලකිලිමත් නොවිය යුතුය. මා කලින් කී පරිදි, ටැග් බොහෝ විට මඟ හැරී ඇති අතර ඒ වෙනුවට, වෙනස් කිරීමක් හෝ වෙනත් ලේඛනයක් නිකුතුවක් සිදු කළ විට සංශෝධන අංකය පැහැදිලි කරයි.
උදාහරණයක් ලෙස, ඔබ නව ව්යාපෘතියක් ආරම්භ කරන බව කියමු. ඔබ "කඳ" තුළ වැඩ කිරීමට පටන් ගනී, අවසානයේදී 1.0 අනුවාදය ලෙස මුදා හරිනු ඇත.
1.0.0 අවසන් වූ පසු, ඔබ කඳ නව "1.0" ශාඛාවකට අතු ගසා "1.0.0" ටැගයක් සාදන්න. දැන් කඳෙහි 1.1 දිගටම පවතිනු ඇත.
ඔබට කේතයේ ඇති දෝෂ කිහිපයක් හමු වී ඒවා කඳට සවි කර, පසුව නිවැරදි කිරීම් 1.0 ශාඛාවට ඒකාබද්ධ කරන්න. ඔබට ප්රතිවිරුද්ධ දේ කළ හැකි අතර, 1.0 ශාඛාවේ ඇති දෝෂ නිවැරදි කර ඒවා නැවත කඳට ඒකාබද්ධ කරන්න, නමුත් සාමාන්යයෙන් ව්යාපෘති එක් මාර්ගයක් ඒකාබද්ධ කිරීම මඟින් යමක් මග හැරීමේ අවස්ථාව අඩු කරයි. සමහර විට දෝෂයක් නිවැරදි කළ හැක්කේ 1.0 දී පමණි, මන්ද එය 1.1 හි යල්පැන ඇති බැවිනි. එය ඇත්ත වශයෙන්ම වැදගත් නොවේ: ඔබට අවශ්ය වන්නේ 1.0 හි සවි කර ඇති එකම දෝෂ සමඟ 1.1 මුදා නොහරින බවට සහතික කර ගැනීම පමණි.
ඔබ ප්රමාණවත් තරම් දෝෂ (හෝ සමහර විට එක් විවේචනාත්මක දෝෂයක්) සොයාගත් පසු, ඔබ 1.0.1 නිකුතුවක් කිරීමට තීරණය කරයි. එබැවින් ඔබ 1.0 ශාඛාවෙන් "1.0.1" ටැගයක් සාදා කේතය මුදා හරින්න. මෙම අවස්ථාවෙහිදී, කඳෙහි 1.1 ක් අඩංගු වන අතර "1.0" ශාඛාවේ 1.0.1 කේතය අඩංගු වේ. ඊළඟ වතාවේ ඔබ යාවත්කාලීනයක් 1.0 වෙත නිකුත් කළ විට එය 1.0.2 ක් වනු ඇත.
අවසානයේදී ඔබ 1.1 නිකුත් කිරීමට බොහෝ දුරට සූදානම් නමුත් ඔබට මුලින්ම බීටා එකක් කිරීමට අවශ්යය. මෙම අවස්ථාවේදී, ඔබ බොහෝ විට "1.1" ශාඛාවක් සහ "1.1beta1" ටැගයක් කරයි. දැන්, 1.2 (හෝ 2.0 සමහර විට) කඳෙහි දිගටම කරගෙන යනු ඇත, නමුත් 1.1 හි වැඩ කටයුතු "1.1" ශාඛාවේ දිගටම පවතී.
ඔබ අවසන් 1.1 මුදා හැරීමෙන් පසු, ඔබ "1.1" ශාඛාවෙන් "1.1" ටැගයක් කරයි.
ඔබට අවශ්ය නම් 1.0 දිගටම පවත්වා ගෙන යා හැකිය, ශාඛා තුන අතර (1.0, 1.1, සහ කඳ) දෝෂ නිවැරදි කිරීම. වැදගත් පියවරක් නම්, ඔබ නඩත්තු කරන මෘදුකාංගයේ සෑම ප්රධාන සංස්කරණයක් සඳහාම, එම අනුවාදය සඳහා නවතම කේත අනුවාදය අඩංගු ශාඛාවක් ඔබ සතුව තිබීමයි.
ශාඛා වල තවත් භාවිතයක් වන්නේ ලක්ෂණ සඳහා ය. ඔබ කඳ (හෝ ඔබේ මුදා හැරීමේ ශාඛා වලින් එකක්) අතු බෙදී හුදකලා වීමේ නව අංගයක් මත වැඩ කරන ස්ථානය මෙයයි. විශේෂාංගය සම්පුර්ණ වූ පසු, ඔබ එය නැවත ඒකාබද්ධ කර ශාඛාව ඉවත් කරන්න.
මෙහි අදහස නම් ඔබ කඩාකප්පල්කාරී දෙයක් (වෙනත් පුද්ගලයින්ගේ වැඩ කටයුතු වලක්වාලීමට හෝ බාධා කිරීමට ඉඩ ඇති), පර්යේෂණාත්මක යමක් (එය පවා සිදු නොකිරීමට ඉඩ ඇති) හෝ බොහෝ කාලයක් ගතවන දෙයක් මත වැඩ කරන විට ය. (ඔබ කඳෙන් 1.2 ශාඛා කිරීමට සූදානම් වන විට එය 1.2 නිකුතුවක් රඳවා ගන්නේ නම් ඔබ බිය වේ), ඔබට එය ශාඛා හුදකලාව කළ හැකිය. සාමාන්යයෙන් ඔබ එය සෑම විටම වෙනස්කම් සමඟ ඒකාබද්ධ කිරීමෙන් කඳ සමඟ යාවත්කාලීනව තබා ගනී, එමඟින් ඔබ අවසන් වූ පසු නැවත ඒකාබද්ධ කිරීම (කඳට නැවත ඒකාබද්ධ කිරීම) පහසු කරයි.
තවද, මා මෙහි භාවිතා කළ අනුවාදකරණ යෝජනා ක්රමය බොහෝ දේවලින් එකක් පමණක් බව සලකන්න. සමහර කණ්ඩායම් 1.1, 1.2, ආදිය ලෙස දෝෂ නිවැරදි කිරීම / නඩත්තු කිරීම සහ 1.x, 2.x, වැනි විශාල වෙනස්කම් සිදු කරනු ඇත. මෙහි භාවිතය සමාන වේ, නමුත් ඔබට ශාඛාව "1" හෝ "1" ලෙස නම් කළ හැකිය. .x "වෙනුවට" 1.0 "හෝ" 1.0.x ". ( පසෙකින් , අර්ථකථන අනුවාදය අනුවාද අංක කරන්නේ කෙසේද යන්න පිළිබඳ හොඳ මඟ පෙන්වීමකි).
නික් පැවසූ දෙයට අමතරව ඔබට ප්රවාහය රේඛා වලින් වැඩි විස්තර දැනගත හැකිය : සමාන්තර මෘදුකාංග සංවර්ධනය සඳහා ශාඛා රටා
මෙම රූපයේ main
කඳ, rel1-maint
අත්තක් වන අතර 1.0
එය ටැගයකි.
පොදුවේ (මෙවලම් අ nost ෙයවාදී දෘෂ්ටිය), ශාඛාවක් යනු සමාන්තර සංවර්ධනය සඳහා භාවිතා කරන යාන්ත්රණයයි. SCM ශාඛා 0 සිට n දක්වා විය හැකිය. උපසිරැසි 0 ඇත.
කඳ යනු උපවර්ෂන් විසින් නිර්දේශ කරනු ලබන ප්රධාන ශාඛාවකි , නමුත් ඔබට එය නිර්මාණය කිරීමට කිසිසේත් බල කෙරෙන්නේ නැත. ඔබට එය 'ප්රධාන' හෝ 'නිකුතු' ලෙස හැඳින්විය හැකිය, නැතහොත් එකක්වත් නැත!
ශාඛාව සංවර්ධන උත්සාහයක් නියෝජනය කරයි. එය කිසි විටෙක සම්පතකට නම් නොකළ යුතුය ('vonc_branch' වැනි) නමුත් පසුව:
ටැගය යනු එම තත්වයට පහසුවෙන් ආපසු යාම සඳහා ලිපිගොනු ඡායාරූපයකි. ගැටළුව වන්නේ උපසිරැසි ගැන්වීමේදී ටැගය සහ ශාඛාව එක සමාන වීමයි . මම අනිවාර්යයෙන්ම ව්යාකූල ප්රවේශය නිර්දේශ කරමි:
ටැග්ස් ප්රදේශය තුළ නව පිටපත් නිර්මාණය කිරීම හැර කිසිවෙකු කිසිවක් කිරීම වැළැක්වීම සඳහා ඔබට උපසිරැසි සමඟ සපයා ඇති ප්රවේශ පාලන ස්ක්රිප්ට් එකක් භාවිතා කළ හැකිය.
ටැගයක් අවසානයි. එහි අන්තර්ගතය කිසි විටෙකත් වෙනස් නොවිය යුතුය. කවදාවත්. කවදා හෝ. නිකුතු සටහනේ පේළියක් ඔබට අමතකද? නව ටැගයක් සාදන්න. යල් පැන ගිය හෝ පැරණි එක ඉවත් කරන්න.
දැන්, මම එවැනි සහ එවැනි ශාඛා තුළ නැවත ඒකාබද්ධ කිරීම, පසුව කඳ ශාඛාව තුළ බොහෝ දේ කියවා ඇත්තෙමි. එය ඒකාබද්ධ කිරීමේ කාර්ය ප්රවාහය ලෙස හැඳින්වෙන අතර මෙහි අනිවාර්ය කිසිවක් නොමැත . ඔබට කඳ අත්තක් ඇති නිසා ඔබට කිසිවක් නැවත ඒකාබද්ධ කළ යුතු නොවේ .
සම්මුතිය අනුව, කඳ ශාඛාවට ඔබේ සංවර්ධනයේ වත්මන් තත්වය නිරූපණය කළ හැකි නමුත් එය සරල අනුක්රමික ව්යාපෘතියක් සඳහා වන ව්යාපෘතියකි:
මක්නිසාද යත්, එම සිද්ධීන්ගෙන් එකක් (හෝ සියල්ලම) සමඟින් ඔබට 'ටන්ක' හතරක්, 'වර්තමාන වර්ධනයන්' හතරක් ලැබෙනු ඇති අතර, එම සමාන්තර සංවර්ධනයේදී ඔබ කරන සියල්ල අනිවාර්යයෙන්ම 'කඳට' ඒකාබද්ධ කළ යුතු නොවේ.
SVN හි ටැගයක් සහ ශාඛාවක් සැබවින්ම සමාන වේ.
ටැගය = කාලයාගේ ඇවෑමෙන් නිර්වචනය කරන ලද පෙත්තක්, සාමාන්යයෙන් නිකුත් කිරීම් සඳහා භාවිතා කරයි
ශාඛාව = සාමාන්යයෙන් 1.0, 1.5, 2.0 වැනි ප්රධාන අනුවාද සඳහා භාවිතා වන සංවර්ධනයේ අඛණ්ඩව පැවතිය හැකි කාල පරාසයක් ද වේ, ඉන්පසු ඔබ මුදා හරින විට ශාඛාව ටැග් කරන්න. කඳේ බිඳෙන වෙනස්කම් සමඟ ඉදිරියට යන අතරම නිෂ්පාදන නිකුතුවකට දිගටම සහාය වීමට මෙය ඔබට ඉඩ සලසයි
කඳ = සංවර්ධන වැඩ අවකාශය, සියලු සංවර්ධනය සිදුවිය යුත්තේ මෙහිදීය, පසුව ශාඛා නිකුතුවලින් ඒකාබද්ධ වූ වෙනස්කම්.
ඔවුන්ට විධිමත් අර්ථයක් නැත. ෆෝල්ඩරයක් යනු SVN වෙත ෆෝල්ඩරයකි. ඒවා ඔබේ ව්යාපෘතිය සංවිධානය කිරීම සඳහා සාමාන්යයෙන් පිළිගත් ක්රමයකි.
කඳ යනු ඔබ ඔබේ ප්රධාන සංවර්ධන රේඛාව තබා ගන්නා ස්ථානයයි. ශාඛා ෆෝල්ඩරය යනු කෙටි පෝස්ට් එකකින් පැහැදිලි කිරීමට අපහසු අතු ඔබට සෑදිය හැකි ස්ථානයකි.
ශාඛාවක් යනු ඔබ කඳෙන් වෙන්ව වැඩ කරන ඔබේ ව්යාපෘතියේ උප කුලකයේ පිටපතකි. සමහර විට එය ඕනෑම තැනකට නොයා හැකි අත්හදා බැලීම් සඳහා විය හැකිය, නැතහොත් එය ඊළඟ නිකුතුව සඳහා විය හැකිය, එය ස්ථායී වූ විට ඔබ පසුව කඳට නැවත ඒකාබද්ධ වේ.
ටැග්ස් ෆෝල්ඩරය යනු සාමාන්යයෙන් ඔබේ නිකුතුවේ ටැග් කළ පිටපත් නිර්මාණය කිරීමයි.
නමුත් මම කීවාක් මෙන්, SVN ට, ෆෝල්ඩරයක් යනු ෆෝල්ඩරයකි. branch
, trunk
සහ ටැගය යනු සම්මුතියක් පමණි.
මම 'පිටපත' යන වචනය ලිබරල් ලෙස භාවිතා කරමි. SVN ඇත්ත වශයෙන්ම ගබඩාවේ ඇති දේවල සම්පූර්ණ පිටපත් සාදන්නේ නැත.
මෙම කඳ නවතම මූල කේතය හා විශේෂාංග දරන්නේ සංවර්ධන රේඛාවකි. එහි නවතම දෝෂ නිවැරදි කිරීම් මෙන්ම ව්යාපෘතියට එකතු කරන ලද නවතම අංගයන් ද තිබිය යුතුය.
මෙම ශාඛා එසේ කරන බව සාමාන්යයෙන් ඉවතට කඳ (හෝ වෙනත් සංවර්ධන මාර්ගය) සිට යමක් කිරීමට භාවිතා බිඳ ගොඩ නැඟීමට. නව අංග බොහෝ විට ශාඛාවක් තුළ ගොඩනඟා නැවත කඳට ඒකාබද්ධ වේ. ශාඛා බොහෝ විට එහි අතු බෙදී ඇති සංවර්ධන රේඛාව සඳහා අනිවාර්යයෙන්ම අනුමත නොකරන කේත අඩංගු වේ. නිදසුනක් ලෙස, ක්රමලේඛකයෙකුට ශාඛාවක යමක් ප්රශස්තිකරණය කිරීමට උත්සාහ කළ හැකි අතර එය ප්රශස්තිකරණය සතුටුදායක වූ පසු පමණක් සංවර්ධන රේඛාවට ඒකාබද්ධ වේ.
මෙම ටැග් යම් අවස්ථාවක නිධිය පිළිබඳ snapshots වේ. මේවායේ කිසිදු සංවර්ධනයක් සිදු නොවිය යුතුය. ඒවා බොහෝ විට භාවිතා කරනුයේ සේවාදායකයෙකුට මුදා හරින ලද දේවල පිටපතක් රැගෙන යාම සඳහා වන අතර එමඟින් සේවාදායකයෙකු භාවිතා කරන දෙයට පහසුවෙන් ප්රවේශ විය හැකිය.
ගබඩාවලට ඉතා හොඳ මාර්ගෝපදේශයක් සඳහා සබැඳියක් මෙන්න:
විකිපීඩියාවේ ලිපි ද කියවීම වටී.
දැන් එය මෘදුකාංග සංවර්ධනය පිළිබඳ කාරණයකි, කිසිවක් පිළිබඳ ස්ථාවර දැනුමක් නැත, සෑම කෙනෙකුටම එය තමන්ගේම ආකාරයෙන් ඇති බව පෙනේ, නමුත් එය කෙසේ හෝ සාපේක්ෂව තරුණ විනයක් නිසා ය.
මෙන්න මගේ සරල සරල ක්රමය,
කඳ - කඳ නාමාවලියෙහි වඩාත්ම වර්තමාන, අනුමත කරන ලද සහ ඒකාබද්ධ කරන ලද වැඩ කොටස අඩංගු වේ. බොහෝ දෙනා පාපොච්චාරණය කර ඇති දෙයට පටහැනිව, මගේ කඳ පිරිසිදු, පිළිවෙලට, අනුමත වැඩ සඳහා පමණක් වන අතර එය සංවර්ධන ප්රදේශයක් නොව නිදහස් කරන ප්රදේශයකි.
යම් අවස්ථාවක දී කඳ සියල්ල නිදහස් කිරීමට සුදානම් යැයි පෙනෙන විට, එය ටැග් කර මුදා හරිනු ලැබේ.
ශාඛා - ශාඛා නාමාවලියෙහි අත්හදා බැලීම් සහ අඛණ්ඩ වැඩ අඩංගු වේ. කඳට ඒකාබද්ධ කිරීම අනුමත වන තෙක් ශාඛාවක් යටතේ වැඩ එහි රැඳේ. මට නම්, මෙය සියලු වැඩ කටයුතු සිදුකරන ප්රදේශයයි.
උදාහරණයක් ලෙස: නිෂ්පාදනයේ පස්වන වටයේ සංවර්ධනය සඳහා මට පුනරාවර්තන -5 ශාඛාවක් තිබිය හැකිය , නවවන වටයේ අත්හදා බැලීම් සඳහා මූලාකෘති -9 ශාඛාවක් විය හැකිය.
ටැග් - ටැග් නාමාවලියෙහි අනුමත ශාඛා සහ කඳ මුදා හැරීම් වල ඡායාරූප අඩංගු වේ. කඳට ඒකාබද්ධ වීමට ශාඛාවක් අනුමත වූ විට හෝ කඳෙන් නිදහස් කිරීමක් සිදු වූ විට, අනුමත ශාඛාවේ ඡායාරූපයක් හෝ කඳ මුදා හැරීම ටැග් යටතේ සිදු කෙරේ.
මම හිතන්නේ ටැග් සමඟ මට උනන්දුව ඉතා පහසුවෙන් පෙන්වා දීමට කාලයත් සමඟ ඉදිරියට යා හැකිය.
මම වෙබ් අඩවිය දෙස බලා විට මම SVN සම්බන්ධයෙන් මෙම කුහුඹුවන්ගේ වැඩක් සොයා කතුවරයා පිළිබඳ OpenCV ද්වාරය වැඩසටහන් 2 පරිගණක දැක්ම අයදුම් මම බෙදාගත යුතුය කියලා.
එස්.වී.එන් භාවිතා කරන්නේ කෙසේද යන්න සහ 'කඳ', 'ටැගය' සහ 'ශාඛාව' යන වාක්ය ඛණ්ඩයන් අදහස් කරන්නේ කුමක් ද යන්න පිළිබඳ නිබන්ධනයක් ඔහු සතුව ඇත.
ඔහුගේ නිබන්ධනයෙන් කෙලින්ම උපුටා දක්වා ඇත:
ඔබේ කණ්ඩායම දැනට වැඩ කරමින් සිටින ඔබේ මෘදුකාංග ව්යාපෘතියේ වර්තමාන අනුවාදය සාමාන්යයෙන් පිහිටා ඇත්තේ කඳ නමින් නාමාවලියක් යටතේ ය . ව්යාපෘතිය පරිණාමය වන විට, සංවර්ධකයා විසින් අනුවාදය මඟින් දෝෂ නිවැරදි කරයි, නව විශේෂාංග එකතු කරයි) සහ එම නාමාවලිය යටතේ ඔහුගේ වෙනස්කම් ඉදිරිපත් කරන්න.
ඕනෑම වේලාවක, ඔබට සංවර්ධනයේ මෙම අවස්ථාවෙහිදී මෙන් අනුවාදයක් කැටි කර මෘදුකාංගයේ ඡායාරූපයක් ලබා ගැනීමට අවශ්ය විය හැකිය. මෙය සාමාන්යයෙන් ඔබේ මෘදුකාංගයේ නිල අනුවාදයන්ට අනුරූප වේ, උදාහරණයක් ලෙස, ඔබ ඔබේ ගනුදෙනුකරුවන්ට ලබා දෙනු ඇත. මෙම ස්නැප්ෂොට් පිහිටා ඇත්තේ ඔබේ ව්යාපෘතියේ ටැග් නාමාවලිය යටතේ ය .
අවසාන වශයෙන්, බොහෝ විට ඔබේ මෘදුකාංගය සඳහා නව සංවර්ධන මාර්ගයක් නිර්මාණය කිරීම ප්රයෝජනවත් වේ. නිදසුනක් ලෙස, ඔබේ මෘදුකාංගය වෙනස් කළ යුතු විකල්ප ක්රියාත්මක කිරීමක් පරීක්ෂා කිරීමට ඔබට අවශ්ය වූ විට මෙය සිදු වේ, නමුත් ඔබ නව විසඳුම අනුගමනය කරන්නේ දැයි තීරණය කරන තෙක් මෙම වෙනස්කම් ප්රධාන ව්යාපෘතියට ඉදිරිපත් කිරීමට ඔබට අවශ්ය නැත. ප්රධාන කණ්ඩායමට පසුව ව්යාපෘතියේ වැඩ කටයුතු කරගෙන යා හැකි අතර අනෙක් සංවර්ධකයා මූලාකෘතියේ වැඩ කරයි. ව්යාපෘතියේ මෙම නව සංවර්ධන මාර්ග ඔබ ශාඛා නමින් නාමාවලියක් යටතේ තබනු ඇත .
කඳ නාමාවලිය යනු ඔබ බොහෝ විට හුරුපුරුදු නාමාවලියයි, මන්ද එය නවතම වෙනස්කම් රඳවා ගැනීමට භාවිතා කරන බැවිනි. ඔබේ ප්රධාන කේත පදනම කඳෙහි තිබිය යුතුය.
ශාඛා නාමාවලිය යනු ඔබේ ශාඛා කුමක් වුවත් ඒවා රඳවා තබා ගැනීමයි.
ටැග් නාමාවලිය මූලික වශයෙන් එක්තරා ගොනු සමූහයක් ටැග් කිරීම සඳහා වේ. ඔබ මෙය කරන්නේ නිකුතුව වැනි දේ සඳහා වන අතර, මෙම සංශෝධන වලදී මෙම ලිපිගොනු "1.0" වීමටත්, "1.1" මෙම සංශෝධන වලදී මෙම ගොනු වීමටත් අවශ්ය වේ. ඔබ සාමාන්යයෙන් ටැග් සෑදූ පසු ඒවා වෙනස් නොකරයි. ටැග් පිළිබඳ වැඩි විස්තර සඳහා, 4 වන පරිච්ඡේදය බලන්න . ශාඛා කිරීම හා ඒකාබද්ධ කිරීම ( උපක්රමය සමඟ අනුවාද පාලනයේදී ).
සෑම කෙනෙකුටම තරමක් වෙනස් අර්ථ දැක්වීමක් ඇති වීමට එක් හේතුවක් වන්නේ උපසිරැසි ශාඛා හා ටැග් සඳහා ශුන්ය සහය ක්රියාත්මක කිරීමයි. උපසිරැසි මූලික වශයෙන් මෙසේ කියයි: අපි වෙනත් පද්ධතිවල අංග සම්පූර්ණ ශාඛා සහ ටැග් දෙස බැලූ අතර ඒවා ප්රයෝජනවත් නොවීය, එබැවින් අපි කිසිවක් ක්රියාත්මක නොකළෙමු. යන්තම් නම සමග නව බහලුම තුලට පිටපත් කරන්න සමුළුව වෙනුවට . ඇත්ත වශයෙන්ම සෑම කෙනෙකුටම තරමක් වෙනස් සම්මුතීන් පැවැත්වීමට නිදහස තිබේ. සැබෑ ටැගයක් සහ හුදු පිටපතක් + නම් කිරීමේ සම්මුතියක් අතර වෙනස අවබෝධ කර ගැනීම සඳහා විකිපීඩියා ප්රවේශ උපසිරැසි ටැග් සහ ශාඛා බලන්න .
ටැගය = කාලයාගේ ඇවෑමෙන් නිර්වචනය කරන ලද පෙත්තක්, සාමාන්යයෙන් නිකුත් කිරීම් සඳහා භාවිතා කරයි
මම හිතන්නේ මෙය සාමාන්යයෙන් "ටැග්" යන්නෙන් අදහස් කරයි. නමුත් උපසිරැසි ගැන්වීමේදී:
ඔවුන්ට විධිමත් අර්ථයක් නැත. ෆෝල්ඩරයක් යනු SVN වෙත ෆෝල්ඩරයකි.
ඒවා ව්යාකූල බවක් මට පෙනේ: ශාඛා හෝ ටැග් ගැන කිසිවක් නොදන්නා සංශෝධන පාලන පද්ධතියක්. ක්රියාත්මක කිරීමේ දෘෂ්ටි කෝණයකින්, මම සිතන්නේ “පිටපත්” නිර්මාණය කිරීමේ උපක්රම ක්රමය ඉතා දක්ෂ බවය, නමුත් ඒ ගැන දැන ගැනීම මට කාන්දු වියුක්තයක් ලෙස හැඳින්වේ .
නැත්නම් සමහර විට මම සීවීඑස් බොහෝ කාලයක් භාවිතා කර ඇත .
ටැගයක සංකල්පය සහ එස්වීඑන් හි ක්රියාත්මක කිරීම අතර වෙනස නිසා සමහර ව්යාකූලතා ඇති වේ යැයි මම සිතමි. SVN ට ටැග් යනු පිටපතක් වන ශාඛාවකි. ටැග් වෙනස් කිරීම වැරදි ලෙස සලකනු ලබන අතර ඇත්ත වශයෙන්ම ඔබ ../tags/ .. සමඟ ඕනෑම දෙයක් වෙනස් කිරීමට උත්සාහ කරන්නේ නම් ඉබ්බන් එස්වීඑන් වැනි මෙවලම් ඔබට අනතුරු අඟවයි.
'ටැගය' යනු කුමක්දැයි මට විශ්වාස නැත, නමුත් ශාඛාව යනු තරමක් පොදු ප්රභව පාලන සංකල්පයකි.
මූලික වශයෙන්, ශාඛාවක් යනු කඳට බලපෑමක් නොකර කේතයේ වෙනස්කම් සිදු කිරීමට ක්රියා කරන ක්රමයකි. තරමක් සංකීර්ණ නව අංගයක් එක් කිරීමට ඔබට අවශ්ය යැයි පවසන්න. ඔබ ඒවා සිදු කරන විට වෙනස්කම් පරීක්ෂා කර බැලීමට ඔබට අවශ්යය, නමුත් ඔබ විශේෂාංගය අවසන් වන තුරු එය කඳට බලපානු ඇත.
මුලින්ම ඔබ ශාඛාවක් නිර්මාණය කරයි. මෙය මූලික වශයෙන් ඔබ ශාඛාව සෑදූ කාලය වන විට කඳේ පිටපතකි. එවිට ඔබ ඔබේ සියලු වැඩ කටයුතු ශාඛාවේ කරනු ඇත. ශාඛාවේ සිදුකරන ඕනෑම වෙනස්කමක් කඳට බලපාන්නේ නැත, එබැවින් කඳ තවමත් භාවිතා කළ හැකි අතර අනෙක් අයට එහි දිගටම වැඩ කිරීමට ඉඩ සලසයි (දෝෂ නිවැරදි කිරීම් හෝ කුඩා වැඩි දියුණු කිරීම් වැනි). ඔබේ අංගය අවසන් වූ පසු ඔබ ශාඛාව නැවත කඳට ඒකාබද්ධ කරයි. මෙය ඔබගේ සියලු වෙනස්කම් ශාඛාවේ සිට කඳට ගෙන යනු ඇත.
ශාඛා සඳහා මිනිසුන් භාවිතා කරන රටා ගණනාවක් තිබේ. ඔබට එකවර ප්රධාන සහය දක්වන බහු සංස්කරණ සහිත නිෂ්පාදනයක් තිබේ නම්, සාමාන්යයෙන් සෑම අනුවාදයක්ම ශාඛාවක් වනු ඇත. මා වැඩ කරන තැන අපට QA ශාඛාවක් සහ නිෂ්පාදන ශාඛාවක් ඇත. අපගේ කේතය QA වෙත මුදා හැරීමට පෙර අපි QA ශාඛාවට වෙනස්කම් ඒකාබද්ධ කර එතැන් සිට යෙදවමු. නිෂ්පාදනයට මුදා හැරීමේදී අපි QA ශාඛාවේ සිට නිෂ්පාදන ශාඛාව සමඟ ඒකාබද්ධ වෙමු, එබැවින් නිෂ්පාදනයේ ක්රියාත්මක වන කේතය QA පරීක්ෂා කළ දෙයට සමාන බව අපි දනිමු.
අතු පිළිබඳ විකිපීඩියා ප්රවේශය මෙන්න , ඔවුන් මට වඩා හොඳ දේවල් පැහැදිලි කරන නිසා. :)
කඳ : සෑම වේගවත් වේගයකින්ම අවසන් වූ පසු අපි අර්ධ වශයෙන් නැව්ගත කළ හැකි නිෂ්පාදනයක් ඉදිරිපත් කරමු. මෙම නිකුතු කඳෙහි තබා ඇත.
ශාඛා : අඛණ්ඩව සිදුවන සෑම ස්ප්රින්ට් එකක් සඳහාම සමාන්තර සංවර්ධන කේත අතු වල තබා ඇත.
ටැග් : අපි අර්ධ වශයෙන් නැව්ගත කළ හැකි නිෂ්පාදන වර්ගයක් වන බීටා අනුවාදයක් නිකුත් කරන සෑම අවස්ථාවකම අපි ඒ සඳහා ටැගයක් සාදන්නෙමු. මෙය අපට එම අවස්ථාවේ දී ලබා ගත හැකි කේතය ලබා දෙන අතර, සංවර්ධනයේදී යම් අවස්ථාවක දී අවශ්ය වුවහොත් එම තත්වයට ආපසු යාමට අපට ඉඩ සලසයි.
GIT හුරුපුරුදු පුද්ගලයින් සඳහා, GIT හි මාස්ටර් SVN හි කඳට සමාන වේ.
ශාඛාව සහ ටැගය GIT සහ SVN යන දෙඅංශයෙන්ම එකම පාරිභාෂිතයක් ඇත.