SVN Git ට වඩා හොඳින් කරන්නේ කුමක්ද? [වසා ඇත]


294

ක්‍රමලේඛක මෙවලම් පිළිබඳ වාද විවාද බහුතරයක් පුද්ගලික තේරීම (පරිශීලකයා විසින්) හෝ නිර්මාණ අවධාරණය , එනම් විශේෂිත භාවිත අවස්ථා අනුව (මෙවලම් සාදන්නා විසින්) සැලසුම් ප්‍රශස්තිකරණය කිරීම පිළිබඳ ප්‍රශ්නයක් නැත . පාඨ සංස්කාරකයන් බොහෝ විට වඩාත් කැපී උදාහරණයක් ඇත - එක් වැඩ සහ කේත දී Windows මත වැඩ කරන සදහාද සහය දක්වනු ලැෙබි Haskell ගෙදර මැක් මත, වටිනාකම් සහ සම්පාදක ඒකාබද්ධ-වේදිකා තරණය කොට එසේ තෝරා හැරදමයි කට TextMate ආදිය,

අළුතින් හඳුන්වා දුන් තාක්‍ෂණය අව්‍යාජ, පවත්නා විකල්පයන්ට වඩා උසස් බව සාමාන්‍යයෙන් අඩුය.

අනුවාද-පාලන පද්ධති (VCS), විශේෂයෙන් මධ්‍යගත VCS ( CVS සහ SVN ) හා බෙදා හරින ලද VCS ( Git සහ Mercurial ) වලට සාපේක්ෂව මෙය සත්‍යයක්ද ?

මම අවුරුදු පහක් පමණ SVN භාවිතා කළ අතර, SVN දැනට මා සේවය කරන ස්ථානයේ භාවිතා කරයි. මීට වසර තුනකට අඩු කාලයකට පෙර, මම මගේ සියලු පුද්ගලික ව්‍යාපෘති සඳහා Git (සහ GitHub) වෙත මාරු වීමි.

මට Git over Subversion හි වාසි ගණනාවක් ගැන සිතිය හැකිය (සහ බොහෝ දුරට මධ්‍යගත VCS හරහා බෙදා හැරීමේ වාසි වලට එය වියුක්ත වේ), නමුත් මට එක ප්‍රතිවිරුද්ධ උදාහරණයක් ගැන සිතිය නොහැකිය - සමහර කාර්යයන් (එය සාමාන්‍යයෙන් අදාළ වන අතර ක්‍රමලේඛකයන් තුළ පැන නගී වැඩ ප්‍රවාහය) එම උපසිරැසි Git ට වඩා හොඳින් කරයි.

මෙයින් මා ලබාගත් එකම නිගමනය නම් මා සතුව කිසිදු දත්තයක් නොමැති බවයි - Git වඩා හොඳ බව නොවේ.

මගේ අනුමානය නම් එවැනි ප්‍රති-උදාහරණ පවතින බැවින් මෙම ප්‍රශ්නයයි.


3
ok ජෝකූන්: කුමක් සඳහා කාර්යක්ෂමද? දේශීය මෙහෙයුම් හා සසඳන විට වේගවත් ඊතර්නෙට් පවා මන්දගාමී බැවින් නිසැකවම වේගය නැත.
maaartinus


4
මම නිතරම සිතුවේ Git ඉතා ගෞරවයට පාත්‍ර වූ බවය. මෙම ප්‍රබන්ධයට බොහෝ විරුද්ධවාදීකම් තිබියදීත්, ක්‍රමලේඛකයින් මෝඩයන්ට නොගැලපේ. මේ ලෝකයේ අනෙක් සියල්ලන් මෙන්, සෑම කෙනෙකුටම අවශ්‍ය වන්නේ දිදුලන නව සෙල්ලම් බඩු (Git) ය. Git හොඳ විය හැකිය - නැතහොත් සමහර අයට එය විශිෂ්ටයි - නමුත් වෛෂයිකව සිතන විට එය කිසි විටෙකත් SVN ට වඩා හොඳ නොවේ.
buy777

3
මම හිතුවේ SVN තවමත් භාවිතා කිරීමට හොඳයි, ඉගෙනීමේ වක්‍රය හොඳයි, පසුව GIT.
චියුන්ග්

5
මූලික වශයෙන් මත පදනම් වූ මෙම ප්‍රශ්නය මෑතකදී අත්හිටුවන ලදි. එම වර්ගීකරණය වැරදියි; ප්‍රශ්නය දීර් open කාලයක් තිස්සේ විවෘතව තිබූ බව සලකන්න. DVCS හි ගුණාංග පිළිබඳව බොහෝ ප්‍රශ්න ඇති බවත්, එය වඩා හොඳ (මතය) දැයි ප්‍රශ්නය අසන්නේ නැති බවත් , නමුත් එය වඩා හොඳ කරන්නේ කුමක්ද යන්නත් . වෙනස්කම් මතයක් නොව සමස්ත නිෂ්පාදිතයද - එය ව්‍යාකූලයි (නමුත් මෙම ප්‍රශ්නයේ කාරණය නොවේ).
ඊමන් නර්බෝන්

Answers:


206

උපසිරැසි යනු කේන්ද්‍රීය ගබඩාවකි

වේගයේ සහ බහු පිටපත් වල පැහැදිලි ප්‍රතිලාභ සඳහා බොහෝ දෙනෙකුට ගබඩාවන් බෙදා හැරීමට අවශ්‍ය වනු ඇතත්, මධ්‍යම ගබඩාවක් වඩාත් යෝග්‍ය වන අවස්ථා තිබේ. නිදසුනක් ලෙස, ඔබට කිසිවෙකුට ප්‍රවේශ වීමට අවශ්‍ය නොවන විවේචනාත්මක කේත කැබැල්ලක් තිබේ නම්, ඔබට එය Git යටතේ තැබීමට අවශ්‍ය නොවනු ඇත. බොහෝ සංගතවලට ඔවුන්ගේ කේතය මධ්‍යගතව තබා ගැනීමට අවශ්‍ය වන අතර (මම අනුමාන කරමි) රජයේ සියලුම (බරපතල) ව්‍යාපෘති මධ්‍යම ගබඩාවන් යටතේ පවතී.

යටපත් කිරීම සම්ප්‍රදායික ප්‍ර .ාවයි

මෙයින් කියැවෙන්නේ බොහෝ පුද්ගලයින්ට (විශේෂයෙන් කළමනාකරුවන්ට සහ ලොක්කන්ට) අනුවාදයන් අංකනය කිරීමට සුපුරුදු ක්‍රමයක් ඇති අතර කාලයත් සමඟම ඔවුන්ගේ මොළයට තදින් කේත කර ඇති සංවර්ධනය “තනි රේඛාවක්” ලෙස දැකීමයි. වරදක් නැත, නමුත් ගිට්ගේ ලිබරල්කම ගිල දැමීමට පහසු නැත. ඕනෑම Git පොතක පළමු පරිච්ඡේදය මඟින් සාම්ප්‍රදායික පරමාදර්ශයන් ඔබේ මනසින් හිස් කර නැවත ආරම්භ කරන්න.

යටපත් කිරීම එය එක් ආකාරයකින් කරයි, වෙන කිසිවක් නැත

SVN යනු අනුවාද පාලන පද්ධතියකි. එය එක් සිය රැකියාව සහ සියලු දෙනාටම කරන්න ක්රමයක් එය එසේ ම නොවේ. කාලය. මෙය SVN සිට / සිට වෙනත් මධ්‍යගත VCS වෙත මාරුවීම පහසු කරයි. Git යනු පිරිසිදු VCS එකක්වත් නොවේ - එය ගොනු පද්ධතියක්, විවිධ අවස්ථාවන්හිදී ගබඩාවන් සැකසෙන්නේ කෙසේද යන්න පිළිබඳ බොහෝ ස්ථලක ඇත - සහ කිසිදු ප්‍රමිතියක් නොමැත. එය එකක් තෝරා ගැනීම දුෂ්කර කරයි.

වෙනත් වාසි:

  • SVN හිස් නාමාවලි සඳහා සහය දක්වයි
  • SVN වඩා හොඳ වින්ඩෝස් සහාය ඇත
  • SVN ට උප ගසක් පරීක්ෂා කිරීමට / ක්ලෝන කිරීමට හැකිය
  • SVN svn lockලිපිගොනු ඒකාබද්ධ කිරීමට ප්‍රයෝජනවත් වන සුවිශේෂී ප්‍රවේශ පාලනයට සහය දක්වයි
  • SVN ද්විමය ලිපිගොනු සහ විශාල ලිපිගොනු වලට වඩා පහසුවෙන් සහය දක්වයි (තවද සෑම තැනකම පැරණි අනුවාදයන් පිටපත් කිරීම අවශ්‍ය නොවේ).
  • බැඳීමක් එකතු කිරීම සඳහා පියවර කිහිපයක් සැලකිය යුතු තරම් අඩු වන අතර කිසිදු අදින්න / තල්ලු කිරීමක් නොමැති අතර ඔබේ දේශීය වෙනස්කම් සැමවිටම ව්‍යංගයෙන් ප්‍රතිනිර්මාණය වේ svn update.

55
"උපක්‍රමය එය එක් ආකාරයකින් කරයි" - මම මගේ වර්තමාන රැකියාව ආරම්භ කරන තුරු එසේ සිතුවෙමි. මගේ වර්තමාන රැකියාවේදී, විශ්වාසනීය ගැටළු නොමැති බව පවසන මගේ ලොක්කා, අගුලු දැමීම අවශ්‍ය වන පරිදි සේවාදායකය වින්‍යාස කළේය. අපගේ පද්ධතිය තුළ ඒකාබද්ධ කිරීමක් සිදු නොවේ. ලිපිගොනු ගබඩාවේ අගුලු දමා ඇති අතර අගුලු නොමැතිව වෙනත් කිසිවෙකුට ඒවා ලිවිය නොහැක. ඉහළ-පහළ පාලනය, ව්‍යවස්ථාවෙන් ඉල්ලා සිටින අය සඳහා, අනිවාර්යයෙන්ම svn git ට වඩා හොඳ දෙයක් කරයි.
ඩෑන් රේ

14
මධ්‍යම ගබඩාවේ එක් වාසියක් වන්නේ උපස්ථ පහසු කිරීමයි. පරීක්ෂා කරන ලද කේත සියල්ලම එකම ස්ථානයක තිබේ නම් සහ එම ස්ථානයෙන් පිටත අඩවි උපස්ථයක් තිබේ නම්, ඔබේ කාර්යාලය ගිනිබත් වුවහොත් ඔබට සියල්ල අහිමි නොවේ. DVCS සමඟ, ඔබ සංවර්ධකයාගේ යන්ත්‍රවලින් පිටත උපස්ථයක් නොකරන්නේ නම්, වෙබ් අඩවියෙන් උපස්ථ වූ සේවාදායකයට තල්ලු නොකළ සියල්ල ඔබට අහිමි වේ.
පෝල් ටොම්බ්ලින්

94
Git කේන්ද්‍රීය ආකාරයකින් භාවිතා කළ නොහැක්කේ ඇයි? එක් කේන්ද්‍රීය ගබඩාවක් තබා ගන්න, එවිට ඔබේ දේවාලයට ක්ලෝන කර ඇදගෙන තල්ලු කළ හැකිය.
ඩේවිඩ් තෝර්න්ලි

29
APaulTomblin - වැඩ ප්‍රවාහය මත පදනම්ව, Git හට වඩා හොඳ උපස්ථ ලබා දිය හැකිය . නිදසුනක් ලෙස, අපි පුද්ගලික ගිතබ් ගබඩාවන් භාවිතා කරන අතර ශාඛා විශේෂාංග සඳහා මම නිතරම මගේ කේතය ඉහළට තල්ලු කරමි. මගේ සහායකයන් එසේ කරන්නේ නම් git fetch origin, ඔවුන් සෑම කෙනෙකුම මගේ කේතයේ උපස්ථයක් ඇති අතර ගිතුබ් විසින්ම සපයන ඕනෑම උපස්ථයක් ඇත. (අපි දේශීය හා ගිතුබ්හි ඒකාබද්ධ ශාඛා නිරන්තරයෙන් කප්පාදු කරන්නෙමු.)
නේතන් ලෝන්ග්

52
විශාල සමාගම් හෝ රජයේ වැඩ සඳහා කේන්ද්‍රය වඩා ආරක්ෂිත බව ඔබ ඇඟවුම් කරයි. මෙය සරලවම සත්‍ය නොවේ. ඔබේ පරිගණකයේ කේතයේ පිටපතක් තිබේ නම්, ඔබට කේතයේ පිටපතක් තිබේ. එය මධ්‍යම සේවාදායකයකින් හෝ DVCS ගබඩාවක් ඇති මධ්‍යම ගොනු පද්ධතියකින් පැමිණියේ නම් එය ගැටළුවක් නොවේ.
ජෝන් ෆිෂර්

131

Git කට Subversion එක් ප්රතිලාභ හැකි Subversion පමණක් උප ගස් අතරින් පරීක්ෂා ඉඩ විය. Git සමඟ මුළු ගබඩාවම ඒකකයක් වන අතර, ඔබට ලබා ගත හැක්කේ සියල්ල හෝ කිසිවක් පමණි. මොඩියුලර් කේතය සමඟ, Git උප මොඩියුල සමඟ සසඳන විට මෙය තරමක් හොඳ විය හැකිය. (Git උප මොඩියුල වලට ඔවුන්ගේ ස්ථානය තිබියදීත්, පැහැදිලිවම.)

කුඩා ප්‍රතිලාභයක්: උපසිරැසි ගැන්වීමෙන් හිස් නාමාවලි නිරීක්ෂණය කළ හැකිය. Git ගොනු අන්තර්ගතයන් ලුහුබැඳ යයි, එබැවින් කිසිදු ගොනුවක් නොමැති නාමාවලියක් නොපෙන්වයි.


11
උප ගස් සමඟ වැඩ කිරීම IMHO යනු GIT ට වඩා SVN සතු එකම දෙයයි. ගත් විට, හිස් නාමාවලි හොඳයි, නමුත් අවශ්‍ය නොවේ (සහ ඒවා වටා වැඩ කළ හැකිය). Git උප මොඩියුල සහ git subtree අවුල් සහගත නම් බොහෝ අය GIT වෙත සංක්‍රමණය වීමෙන් වළක්වනු නොලැබේ. සමහර අය සඳහන් කළ අනෙක් වාසි (සංවර්ධක) මානසිකත්වයට තල්ලු වේ. උදා: ඔබට ඉහළ සිට පහළට අවශ්‍ය නම් එය හොඳයි. මට ඔබ වෙනුවෙන් වැඩක් නැත.
තුරු

3
SVN (සහ අනෙකුත් මධ්‍යගත අනුවාද පාලනයට) පක්ෂව තර්ක කළ හැකි එකම දේ මේවා වන්නේ කෙසේද යන්න විහිළුවක්
dukeofgaming

1
එය විහිලුවක් වන්නේ ඇයි? - නව පද්ධති පැරණි පද්ධති වලින් ඉගෙන ගනී. RCS සමඟ git හරහා වාසියක් පවා ඇත: ඉතිහාස ලිපිගොනු පහසුවෙන් අතින් සංස්කරණය කළ හැකි අතර ඔබට එක් ගොනුවකට ශාඛා තිබිය හැකිය. නමුත් පරිණාමය යනු අංග නැති වී යාමයි ...
ජොහැන්නස්

3
GIT හරහා SVN භාවිතා කරන ක්‍රීඩා සමාගමක් ගැන මා අසා ඇත්තේ හරියටම මේ හේතුව නිසාය - ඔබ බොහෝ GB ප්‍රමාණයේ ගබඩාවක් ගැන කතා කරන විට එය හදිසියේම වැදගත් වේ!
ජේම්ස්

18
Git අනුවාදය 1.8.0 අනුව, ඔබට දැන් git subtreeමෙය හරියටම ඉටු කිරීමට විධානය භාවිතා කළ හැකිය . අන්තිම උපක්‍රම වාසිය දූවිලි සපාකයි :) විස්තර මෙහි: github.com/gitster/git/blob/… සටහන: මෙය ගිතුබ් ව්‍යාපෘතියකට සබැඳියක් වුවද, git-subtree දැන් මූලික git බෙදාහැරීමේ කොටසකි.
කාල්

51

මට තුනක් ගැන හිතන්න පුළුවන්. පළමුවෙන්ම, විශේෂයෙන් සංවර්ධකයින් නොවන අයට ගොරෝසු කිරීම තරමක් පහසුය. සංකල්පමය වශයෙන් එය DCVS විකල්පයන්ට වඩා සරල ය . දෙවැන්න පරිණත වීම, විශේෂයෙන් වින්ඩෝස් හි ඉබ්බා එස්වීඑන් ය . ඉබ්බා එච්ජී වේගයෙන් අල්ලා ගනී. තෙවනුව, මෘගයාගේ ස්වභාවය - ඔබට ගසක ඕනෑම මට්ටමකින් දේවල් පරීක්ෂා කළ හැකි ගොනු පද්ධතියක රූපයක් - සමහර අවස්ථා වලදී ඉතා ප්‍රයෝජනවත් විය හැකිය - දුසිම් ගණනක් පුරා විවිධාකාර වූ විවිධාකාර වින්‍යාස ගොනු සංස්කරණය කිරීම වැනි ගබඩාවන් දුසිම් ගණනක් නොමැති සේවාදායකයන්.

මෙයින් කියැවෙන්නේ අපි සියලු සංවර්ධනය මර්කුරියල් වෙත ගෙන නොයන බවයි.


25
ගොරෝසු වීම පහසු වීම වැදගත් වාසියකි, මන්ද එය භාවිතා කිරීමට වැඩි ඉඩක් ඇති බැවිනි. දත්ත SVN මාර්ගය වඩා යහපත් නිසැකව ම කිසිදු අනුවාදය පාලනය, සහ යමෙකු පැරණි ක්රම ගැන මුරණ්ඩු වේ නම්, එවිට සමහර විට SVN ඔවුන් සඳහා හොඳම තේරීම වේ.
විහිළු කිරීම

12
h ජෝකින්: මම එස්.වී.එන්. ට ආදරය කරන්නේ නැත, නමුත් යමෙකු මට "මෙම නව ඩීවීසීඑස් දේවල් වලට මම කැමති නැත, එබැවින් මම සීවීඑස් සමඟ රැඳී සිටිමි" යැයි පැවසුවහොත් මම අනිවාර්යයෙන්ම එය නිර්දේශ කරමි: එය අවම වශයෙන් පහසුම මාර්ගයයි අර්ධ වශයෙන් බුද්ධිමත් VCS ;-)
ජෝකිම් සෝවර්

4
h ජොකිං සෑම අවස්ථාවකම නව ක්‍රම සෑම විටම හොඳම නොවේ. නාසා ආයතනය ඩොලර් මිලියන 0 ක් පෑනක් සංවර්ධනය කිරීම සඳහා ග්‍රෑම් 0 කින් ලිවිය හැකි පැරණි කතාව මතකයට නංවයි. අනෙක් අතට අභ්‍යවකාශගාමීන් පැන්සල් වලින් සාදන ලදී. සමහර විට පැරණි ක්‍රම වඩා හොඳය, දැන් මගේ නීතියෙන් ඉවත් වන්න!
maple_shaft

25
@maple_shaft, සමහර විට ඒවා එසේ නොවේ. snopes.com/business/genius/spacepen.asp
පීටර් ටේලර්

3
පහසුවෙන් ග්‍රහණය කර ගැනීම අතිශයින්ම ආත්මීය වන අතර බොහෝ දුරට පදනම් වී ඇත්තේ ඔබ දැනටමත් දන්නා දේට නව දැනුම ගැලපීමට උත්සාහ කරන ආකාරය මත ය. එය ඔබගේ ඉගෙනීමේ ප්‍රභවය කුමක්ද යන්න විශාල වෙනසක් කරයි. ඔබ යන්නේ පිටු පිටු වලින් නම්, වාසනාව. දැනටමත් උගන්වන හොඳ ගුරුවරයෙකු විසින් ඔබට උගන්වනු ලැබුවහොත්, ඔබ එය සාදා ඇත. යූ ටියුබ් හි හොඳ වීඩියෝ කිහිපයක් නැරඹීමෙන් පසුව මට git විශාල අර්ථයක් ඇති බව මට පෙනී ගියේය. ඔබේ අවබෝධය දැනටමත් සරල හරයට ආසවනය කර ඇති අයෙකුගෙන් ඔබ ලබා ගන්නේ නම්, ඕනෑම දෙයක් තේරුම් ගැනීමට පහසු වේ.
වොරන්ට්

32
  • කළමනාකරුගේ සහ පරිපාලකයාගේ දෘෂ්ටි කෝණයෙන් SVN නිධි වඩාත් කළමනාකරණය කළ හැකිය ( ACL + සත්‍යාපන ක්‍රම + හොට්කොපි + දර්පණ + ඩම්ප්)
  • SVN * -hooks ක්‍රියාත්මක කිරීමට සහ සහාය දීමට පහසුය
  • svn:external උප මොඩියුලවලට වඩා වැඩි ශක්තියක් සහ නම්‍යතාවයක් ඇත
  • තාර්කික-පමණක් වෙන් කිරීමක් සහිත මොනොලිතික් ගබඩාවලට වඩා ගොනු පද්ධති මත පදනම් වූ නිධි ගස් භාවිතා කිරීම පහසුය
  • SVN වඩා වෙනස් සේවාදායක මෙවලම් ඇත
  • SVN සතුව තෙවන පාර්ශවීය භාවිතා කළ හැකි වෙබ්-ෆ්‍රොන්ටෙන්ඩ්ස් ඇත, එය Git ට වඩා හොඳය
  • SVN ඔබේ මොළය බිඳ දමන්නේ නැත

23
ඔබේ මොළය බිඳෙන්නේ නැද්ද? SVN හි ගැටුම් සමඟ ශාඛා පහසුවෙන් ඒකාබද්ධ කරන්නේ කෙසේදැයි මට ඉගැන්වීමට අවශ්‍යද?
වොරන්ට්

4
"වඩා හොඳ" මෙවලම් / ඉදිරිපස කෙළවර, එය චලනය වන ඉලක්කයකි. මෙවලම් දෙපසම දියුණු වේ. මෙතැන් සිට වසර කිහිපයක් ලබා ගත හැකි මෙවලම් මොනවාදැයි අප කිසිවෙකු දන්නේ නැත. මාස 10 කට පෙර එම තක්සේරුව කාලයත් සමඟ පහසුවෙන් වෙනස් විය හැකි අතර දැන් එය පරණ විය හැකිය. සාර්‍ථක පිළිතුරු දැකීමට මා කැමතිය.
වොරන්ට්

6
ගස් ගැටුම්? චෙක් පත. සියලුම විකල්ප සඳහා ඔව් හෝ නැත? Svn නිර්මාණය කර ඇත්තේ කෝපයට පත් කිරීම සඳහා ය. වැඩ කරන පිටපත් විධානය පිරිසිදු කරන්නද? ආපසු හැරවීමට පරිවර්තනය නොකළ ගොනු පිරිසිදු කළ නොහැක.
වොරන් පී

1
සියල්ල මකා දමා නැවත පරීක්ෂා කිරීමෙන් ආපසු හරවා නොයන ගොනු පිරිසිදු වේ.
jgmjgm

මම ඔබේ අන්තිම අදහසට කැමතියි, Git මගේ මොළය බිඳ දැමුවා: '(
ලූක්

24

මා මෙය ලිව්වේ වෙනත් කෙනෙකුගේ පිළිතුරක් ලෙස ය, නමුත් මම සිතන්නේ එය තමාටම සහ තමාටම පිළිතුරක් වීමට සුදුසු බවය.

මගේ සමාගම SVN සඳහා ප්‍රවේශමෙන් තෝරාගත් වින්‍යාසයට අන්තර්ගතය සංස්කරණය කිරීම සඳහා ගොනු මට්ටමේ අගුලු දැමීම අවශ්‍ය වන අතර කිසි විටෙකත් ඒකාබද්ධ කිරීම භාවිතා නොකරයි. එහි ප්‍රති As ලයක් ලෙස, බහු සංවර්ධකයින් අගුල් සඳහා තරඟ කරන අතර එය විශාල බාධකයක් විය හැකි අතර ඒකාබද්ධ කිරීමේ ගැටුමකට කිසි විටෙකත් අවස්ථාවක් නොමැත.

SVN නිසැකවම Git ට වඩා ඉහළ-පහළ කළමනාකරණ පාලනය කරයි. මගේ හිස් කබල් වැඩ වලදී Git වෙත සංක්‍රමණය වීම (අවසරයට වඩා සමාව ඉල්ලා සිටීම) අප සියලු දෙනා වහලුන් වන මෘදුකාංග ක්‍රියාත්මක කරන මධ්‍යම මාස්ටර් පාලක සේවාදායකයක් නොමැති බවට මම බොහෝ විට මගේ කළමනාකරු බිය ගන්වමි.


කේන්ද්‍රීයභාවය යනු මිථ්‍යාව පිළිබඳ කාරණයක් නොවේ. කිසිම දෙයක් වෙනස් කිරීමෙන් මාව නවත්වන්න කාටවත් බැහැ. සීවීසී සමඟ ඔවුන්ට කේන්ද්‍රීයව යමක් වෙනස් කිරීමෙන් මාව වළක්වා ගත හැකිය. ඩීවීසී එකක එකම දේ. Cvcs හි commit යන වචනය බැඳීම හා තල්ලු කිරීම සම්බන්ධ කරයි.
වොරන් පී

On ජොනතන් හෙන්සන්: ටොවල්ඩ්ස් එස්.වී.එන්. ට වෛර කරන එකම හේතුව එය නොවේ . SVN මධ්‍යගත විය හැකි අතර වඩා හොඳ CVS එකක් විය හැකි නමුත් එය හොඳ මෘදුකාංගයක් බවට පත් නොවේ. ටොවල්ඩ්ස් සීවීඑස් / එස්වීඑන් වෛර කරන්නේ ඒවා මධ්‍යගතව ඇති නිසා නොව ඒවා ඉතා නරක මෘදුකාංගයක් ලෙස ඔහු සලකන බැවිනි. ඔහු නිවැරදිද නැද්ද යන්න තීරණය කිරීම ඔබ සතු නමුත් ලිනක්ස් (සහ ඇන්ඩ්‍රොයිඩ්) යන දෙවර්ගයේම අතිවිශාල සාර්ථකත්වය දැකගත හැකිය - බිලියන ගණනක් උපාංග මත ධාවනය වෙමින් පවතී - සහ Git - ලෝකය කුණාටුවකට හසුකර ගනී - මම, ඔහු සමඟ එකඟ නොවීමට පෙර දෙවරක් සිතන්න. මීට වසර ගණනාවකට පෙර ගූගල් හි ටෝවල්ඩ්ස් විසින් පවත්වන ලද දේශනය පුදුම සහගතය.
සෙඩ්රික් මාටින්

lol. ඔබේ කළමනාකරු භීතියට පත්වීම නිවැරදියි නිසි උපස්ථ පද්ධතියක් නොමැත. "නමුත් එහි DVCS නිසා යමෙකුට පිටපතක් ලැබෙනු ඇත" යනුවෙන් පැවසීම පියාසර නොකරයි - මම දනිමි, මගේ අන්තිම ස්ථානයේ භාවිතා කරන ලද git දුටු විට, ඔවුන් සතුව සමහර ගබඩාවල පිටපත් නොමැත. මතක තබා ගන්න, අගුලු දැමීම සමහර අවස්ථාවන්ට හොඳ විය හැකි අතර මේ සම්බන්ධයෙන් git අසමත් වේ - ඔබට රූප හෝ වෙනත් ද්විමය ලිපිගොනු සඳහා ඉන්ද්‍රජාලික ඒකාබද්ධ කිරීමේ මෙවලමක් නොමැති නම්. git සැබවින්ම ක්‍රියාත්මක වන්නේ පෙළ ගොනු සඳහා පමණි.
gbjbaanb

23

ඔබ හොඳ තොරතුරු සොයන බව මම අගය කරමි, නමුත් මේ ආකාරයේ ප්‍රශ්නයක් ආරාධනා කරන්නේ, "මම හිතන්නේ Git මෙතරම් ජයග්‍රහණයක් ලබා ඇති අතර, svn teh suxorz!" පිළිතුරු.

මගේ කුඩා කණ්ඩායමට මම Git ටිකක් වැඩිපුර උත්සාහ කළෙමි. භූගෝලීය වශයෙන් විසිරී ඇති විශාල බෙදා හරින ලද කණ්ඩායමකට හෝ කණ්ඩායම් කණ්ඩායමකට එය හොඳ වනු ඇති බවක් පෙනෙන්නට තිබුණි. Git හි ඇති ප්‍රයෝජන මම බොහෝ සෙයින් තේරුම් ගතිමි, නමුත් මගේ මතය අනුව ප්‍රභව පාලනය කිරීම රාත්‍රියේ මා රඳවා තබා ගන්නා දෙයක් නොවේ.

මම මුවන් දඩයම්කරුවෙක් වන අතර, මා සහ මගේ මිතුරන් පිටතට යන විට ඔවුන් දත් වලට සන්නද්ධව සිටින අතර, උණ්ඩ හා අධි තාක්‍ෂණික ආම්පන්න වලින් සන්නද්ධ වේ. මම තනි රයිෆලයක්, උණ්ඩ හතක් සහ ගාංචු පිහියකින් පෙන්වමි. මට වට හතකට වඩා අවශ්‍ය නම් මම යම්කිසි වැරැද්දක් කරමි, මම මෙන්ම වෙන ඕනෑම කෙනෙකුට කරන්නෙමි.

මා උත්සාහ කිරීමට උත්සාහ කරන කාරණය නම්, ඔබ මධ්‍යම සිට කුඩා ව්‍යාපෘතියක් දක්වා වැඩ කරන කුඩා කණ්ඩායමක් නම් සහ ඔබ දැනටමත් SVN ගැන හුරුපුරුදු නම් එය භාවිතා කරන්න. එය නිසැකවම CVS හෝ (වෙව්ලන) SourceSafe ට වඩා හොඳය , තවද ගබඩාවක් සැකසීමට මට විනාඩි පහකට වඩා ගත නොවේ. Git සමහර විට අධික ලෙස මරණයට පත් විය හැකිය.


3
ඇත්තටම? එවිට මම ඔබට යෝජනා කරන්නේ ඔබට ෆොසිලය දෙස බලන්න .
ස්පෙන්සර් රාත්බන්

7
මතභේදයට තුඩු දෙන අවම වශයෙන් අනතුරු ඇඟවීම නොකරමු. වැදගත් මාතෘකා බොහෝ විට වඩාත්ම මතභේදාත්මක වන අතර දැඩි මත දරණ අදහස් ඉදිරිපත් කිරීමට බොහෝ දුරට ඉඩ ඇත. එබැවින් "මේ ආකාරයේ ප්රශ්නයක්" වැදගත් වන අතර සීමාවෙන් පිටත ප්රතිචාර දැක්වීමේ හැකියාව එය පළ නොකිරීමට පිළිගත නොහැකිය. මෙම වෙබ් අඩවියේ භාවිතා කරන්නන් වැඩිහිටියන් යැයි මම සිතමි. මගේ Q සැකසූ ආකාරය වඩා වැදගත් වන්නේ, උදාසීන නොවන්නේ නම්, පසුව යටත් කරුවන්ට පරාජය කිරීමයි - මගේ Q ට ප්‍රතිචාර දැක්විය හැකි පිළිතුරු මගින් git ට වඩා යටත් වීමේ වාසි කියවිය යුතුය, අනෙක් පැත්තෙන් නොවේ.
doug

P ස්පෙන්සර් රාත්බන්, ස්තූතියි! මට ඒ දෙස බැලීමට සිදුවේ. Git සඳහා මා තුළ අප්‍රසාදයක් ඇති බැවින් මම svn ට ආදරය කිරීම එතරම් නොවේ.
maple_shaft

10
@Spencer - Contrariwise, දෙකේම පරිශීලක ලෙස gitහා hgමම යෝජනා කරමි, චපල සිතන ඕනෑම කෙනෙකුට සඳහා gitවැඩියි. TortoiseHG වනු ඉතා භාවිතා ඕනෑම කෙනෙකුට හුරුපුරුදු TortoiseSVN (එය පවා Windows මත එම එක්ස්ප්ලෝරර් මතඇතුරුම් හදා). එය නිසැකවම වීඑස්එස් වලට වඩා බෙහෙවින් පහසු වන අතර එච්ජී රිපෝ එකක් සැකසීමට, ආරම්භක තත්වය සිදු කිරීමට සහ හවුල් ධාවකයකට ක්ලෝන කිරීමට තත්පර කිහිපයකට වඩා ගත වුවහොත් මම පුදුම වෙමි.
මාර්ක් බූත්

Ark මාක්බූත් මුල් ප්‍රශ්නයේ සඳහන් පරිදි, එය අවශ්‍යතා සහ අවශ්‍යතා පිළිබඳ කාරණයක් යැයි මම සිතමි. මගේ වර්තමාන සේවා ස්ථානයේ, මම එහි යාමට පෙර කිසිදු ගබඩාවක් නොතිබුණි. මට අවශ්‍ය සියල්ලම හෝ බොහෝ විට මට අවශ්‍ය ව්‍යාපෘති ව්‍යාපෘති එකට ඔතා, භාවිතා කිරීමට පහසුය, ඩෙල්ටා වෙනුවට සියල්ල තබා ගත හැකි අතර බහු යන්ත්‍ර හරහා 1 හෝ 2 දෙනෙකුගෙන් යුත් කණ්ඩායම් සඳහා බෙදා හරිනු ඇත.
ස්පෙන්සර් රාත්බන්

22

මගේ හේතු:

  • පරිණතභාවය - සේවාදායකය සහ මෙවලම් දෙකම (උදා: ඉබ්බන් එස්වීඑන්)
  • සරල බව - අඩු පියවරයන් සම්බන්ධ වීම, කැපවීම කැපවීමකි. Git සහ Mercurial වැනි DVCS වලට කැපවීම, පසුව තල්ලු කිරීම ඇතුළත් වේ.
  • ද්විමය හැසිරවීම - SVN විසින් ද්විමය ක්‍රියාකාරී සහ රූප Git / Hg වලට වඩා හොඳින් හසුරුවයි. .NET ව්‍යාපෘති සමඟ විශේෂයෙන් ප්‍රයෝජනවත් වන්නේ ගොඩනැගිලි ආශ්‍රිත මෙවලම් ප්‍රභව පාලනයට පරීක්ෂා කිරීමට මා කැමති බැවිනි.
  • අංකනය කිරීම - SVN හට කියවිය හැකි බැඳීම් අංක කිරීමේ ක්‍රමයක් ඇත, ඉලක්කම් පමණක් භාවිතා කරමින් - සංශෝධන අංක සොයා ගැනීමට පහසුය. Git සහ Hg මෙය බෙහෙවින් වෙනස් ය.

1
“බැඳීම් අංක කිරීමේ යෝජනා ක්‍රමය” කළ හැක්කේ ඔබට කැනොනිකල් ටන්ක තිබේ නම් පමණි. එසේ නොමැතිනම් ප්‍රධාන අංක ලබා ගන්නේ කාටද?

1
Svn හි අංකනය +1 කරන්න. මෙම අංකය අද්විතීයයි. යෙදුම්-අනුවාදයේ xx.yy.zz.12882 හි කොටසක් ලෙස මෙම අංකය භාවිතා කිරීමට මෙවලම් තිබේ, එහිදී 12882 යනු svn අනුවාද අංකය වේ. නිෂ්පාදන ගැටළුවක් ඇත්නම් ඔබට අනුවාද අංකයෙන් විමසිය හැකි අතර මෘදුකාංගය සමඟ ගොඩනඟන ලද නිශ්චිත svn-revision ඔබ සතුව ඇත
k3b

20

මේ සියල්ල සාපේක්ෂ වන අතර, මේපල්_ෂාෆ්ට් පැවසූ පරිදි, යමෙකු ඔබ වෙනුවෙන් වැඩ කරන්නේ නම්, වෙනස් නොවන්න!

නමුත් ඔබට ඇත්තටම යමක් අවශ්‍ය නම් , නිර්මාණකරුවන්ට, වෙබ් ක්‍රමලේඛකයින්ට සහ එවැනි අයට එය වඩා හොඳ යැයි මම කියමි - එය රූප සහ ද්විමය ලිපිගොනු ටිකක් හොඳින් හසුරුවයි .


2
SVN ඒවා වඩා හොඳින් හසුරුවන්නේ කෙසේද? Git සෑම ගොනුවක්ම BLOB ලෙස සලකයි.
WarrenT

4
Fl වැඩ ප්‍රවාහයන් නිසා, ඔබ බොහෝ දේ අතු බෙදී හා ඒකාබද්ධ කරයි (හෝ එය භාවිතා කිරීමට කරදර වන්නේ ඇයි) සහ ඔබට ද්විමය යථාර්ථවාදීව ඒකාබද්ධ කළ නොහැක. එබැවින්, ඔබ බොහෝ විට "අවශ්‍යතා අගුළු" දේපල ද්විමය ලිපිගොනු වල SVN හි තබයි.
gbjbaanb

1
සමහර ද්විමය (න්‍යායාත්මකව) ඒකාබද්ධ කළ හැකිය, උදා: ODT ලේඛනය.
ඩොනල් ෆෙලෝස්

18

උපයෝගීතාව. එය සැබවින්ම උපවර්ෂනයේ කුසලතාවය නොව ඉබ්බන් එස්වීඑන් ගේ .. ඉබ්බන් ජිට් පවතී, නමුත් එය තවමත් ඉබ්බන් එස්වීඑන් සමඟ සැසඳීමට බොහෝ දුරක් ඇත.

SVN ට වඩා Git කරන්නේ කුමක්දැයි ඔබ ඇසුවොත් මම GitHub ට පිළිතුරු දෙමි . තෙවන පාර්ශවීය මෙවලම් මෙතරම් විශාල වෙනසක් කරන්නේ කෙසේද යන්න විහිළුවක්.


1
ඇසෙම්බ්ලා ( ලැයිස්තුවේ ඇති ඕනෑම සහාය දක්වන SCM - SVN සඳහා) ගිතුබ්ට වඩා හොඳයි, මම හිතන්නේ
ලේසි බැජර්

දැන් ස්මාර්ට්ගිට්, ගිට්එක්ස්එල් යනාදිය ද ඇත. Git මාර්ගය භාවිතා කිරීම වඩාත් සරල කරන වැඩසටහන්
wirrbel

Az ලේසි බැජර්, කවදාවත් ඒ ගැන අසා නැත.
පැසීරියර්

16

ඔබට ශාඛා හා ඒකාබද්ධ කිරීමට අවශ්‍ය නොවන විට , SVN ( වින්ඩෝස් හි ඉබ්බා එස්වීඑන් සමඟ ) තේරුම් ගැනීමට සහ භාවිතා කිරීමට ඉතා පහසුය. අතු බෙදීම / ඒකාබද්ධ කිරීම පහසු කිරීමට උත්සාහ කරන බැවින් සරල අවස්ථා සඳහා Git ඕනෑවට වඩා සංකීර්ණ වේ.

(කුඩා ව්‍යාපෘති බොහොමයක් හොඳින් කළමනාකරණය කළ හොත් ඒවා කිසි විටෙකත් අතු බෙදීමට සිදු නොවේ. Git ඉලක්ක කර ඇත්තේ සංකීර්ණ අවස්ථාවන් සඳහා ය; එබැවින් බොහෝ Git ප්‍රලේඛන උපකල්පනය කරන්නේ ඔබ අතු බෙදීම හා ඒකාබද්ධ කිරීම වැනි සංකීර්ණ මෙහෙයුම් කළ යුතු බවයි.)


8
භාවිතා gitඅතු හා ඒකාබද්ධ කිරීම කිසිදු සංකීර්ණ ක්රියාවලි වේ. බහුවිධ අනුවාද සඳහා අවශ්‍යතා නොමැති විටදී පවා මම ඒක පුද්ගල ව්‍යාපෘතියක ශාඛා භාවිතා කරමි. ඔබට මේ මොහොතේ ශාඛාවක් තුළ වැඩ කළ නොහැකි අතර, වෙනත් විසඳුමක් උත්සාහ කිරීම වඩා හොඳ විය හැකි බව ඔබ දැනගත් විට අතු බෙදී යයි ... කෙසේ වෙතත්, gitඑය ඉගෙන ගැනීමට ටිකක් අපහසු බව මම එකඟ වෙමි .
maaartinus

පැරණි අනුවාද වල දෝෂ නිරාකරණය කිරීමට ඔබට අවශ්‍ය ඕනෑම වේලාවක ඔබට අතු බෙදීම හා ඒකාබද්ධ කිරීම අවශ්‍ය වේ.

1
රසදිය svn හෝ git වලට වඩා පහසුය යන අදහස මිනිසුන් නොසලකන්නේ ඇයි?
වොරන් පී

මම හිතන්නේ එහි කොටසක් නම්, ඉතා ඉහළ පිරිවැයකින් තොරව අතු බෙදීමට හා ඒකාබද්ධ කිරීමට SVN මෑතක් වන තුරුම සහාය නොදක්වා ඇති හෙයින්, යමෙකු වැඩ කරන දේ වෙනස් කිරීමට අවශ්‍ය වූ විට කළමනාකරුවන්ට වැඩිපුර නැගී සිටීමට ක්‍රමලේඛකයාට එය ඉඩ දී ඇත. මෙවලමක් සමාගමක දේශපාලනය තුළ වැඩ කළ යුතු අතර සමාගම්වල දේශපාලනය හැඩගැස්වීමට ද උපකාරී වේ.
ඉයන්

14

හොඳයි, මගේ සීයාට ඔහුගේ වින්ඩෝස් එක්ස්පී පරිගණකයේ SVN භාවිතා කළ හැකිය, නමුත් ඔහුට Git භාවිතා කිරීමට අපහසු වනු ඇත. සමහර විට මේ වැඩි වූ ප්රතිඵලයක් TortoiseSVN කට TortoiseGit , නමුත් මම එය වෙනුවට Git නෛසර්ගිකවම වඩා බලවත් නිසා වඩාත් සංකීර්ණ වන අතර, එය එම මට්ටම දක්වා ගොළු පලක් බව, යන කරුණ බැඳ කියලා.

දැන් මගේ සීයාට එය ඇත්ත වශයෙන්ම වැදගත් නොවේ, මන්ද ඔහු ප්‍රමාද වන විට කිසිදු වැඩසටහන් කර නොමැති නිසාය. කෙසේ වෙතත්, මම වරක් කණ්ඩායමක සිටියෙමි, අපගේ ග්‍රැෆික් කලාකරුවන් අපගේ ප්‍රභව පාලනය ද භාවිතා කළහ.

ඒ අය තම මෙවලම් වැඩ කිරීමට බලාපොරොත්තු වන අයයි (එසේ මම එසේ කරමි, නමුත් අසමත් වුවහොත් ඔවුන් වැඩ කිරීමට මට යථාර්ථවාදී අවස්ථාවක් තිබේ) සහ බුද්ධිමත් වන්න. ඩීවීසීඑස් සමඟ සම්බන්ධ වීමට ඔවුන් සෑහෙන වෑයමක් දරනු ඇතැයි යන කාරණය හැරුණු විට , එතරම් වාසි අත්කර ගැනීමට නොහැකි විය. කණ්ඩායමේ ක්‍රමලේඛකයින් දෙදෙනෙකු පමණක් සිටින නිසා, එස්.වී.එන්. සමඟ පමණක් රැඳී සිටීම අපට අර්ථවත් විය.


git යනු අනුවාද පාලනය සඳහා වඩාත් “දාර්ශනික” ප්‍රවේශයයි. ඔබ කොමිස්, ශාඛා ආදියෙහි අර්ථ නිරූපණය ගැන සිතීමට පටන් ගනී. එබැවින් VCS “උපස්ථයක්” සහ බෙදා හැරීමේ මෙවලමක් ලෙස භාවිතා කිරීමට කැමති අයට වඩා දුෂ්කර කාලයක් ඇත, නමුත් git වඩා අපහසු නොවේ
wirrbel

11

වැඩ කරන විට මට හේතු දෙකක් නිසා SVN සිට කිසිදු DVCS වෙත සංවර්ධකයින් මාරු කළ නොහැකි විය :

  • අර්ධ පිරික්සුම් (ව්‍යාපෘති ගසෙහි විවිධ ගැඹුරක ඇති ෆෝල්ඩර තුනක් වැනි)
  • ගොනු අගුළු දැමීම (ද්විමය ආකෘති වාර්තා)

8
  • 'Svn commit' කරන විට ආරක්ෂාව පිළිබඳ හැඟීම. කොමිස් සේවාදායකයට යන බැවින්, මට කළ හැකි ඉස්කුරුප්පු ඇණක් නොමැති අතර, ඒවා සිදු වූ පසු මගේ වෙනස්කම් මකා දමනු ඇත. Git වලදී, කොමිස් දේශීය වේ, එබැවින් මම තල්ලු කරන තුරු, 'rm -rf' අයාලේ යන අතර එය සියල්ල අවසන්.
  • කොමිස් සත්‍යාපනය කර ඇත. පෙරනිමියෙන් මට එය ඕනෑම කෙනෙකු මෙන් කරන බව පැවසිය හැකිය.
  • එදිනෙදා භාවිතය සඳහා ඉගෙන ගැනීමට අඩු විධානයන්. 'svn checkout', 'svn up', සහ 'svn commit' ඔබට සෑහෙන දුරක් ලබා දෙනු ඇත.
  • බෙදාගත් පිරික්සුම් වඩා හොඳට වැඩ කරයි. ඔබ කැපවීමට ගිය විට, එය ඔබගේ පරිශීලක නාමය / මුරපදය ඉල්ලයි, ඇතැම් විධාන රේඛා තර්ක සම්මත කිරීමට ඔබට මතක තබා ගත යුතු නැත. සමහර විට වැඩ කිරීමේදී අපට යම් ව්‍යාපෘතියක හවුල් svn පිරික්සුමක් සහිත හවුල් යන්ත්‍රයක් ඇත. කවුරුහරි "බොබ්ට ඔබට මෙම යන්ත්‍රය දෙස බැලිය හැකිද" යැයි පැවසිය හැකි අතර ඔහුට එය කළ හැකි අතර කිසිදු ඉස්කුරුප්පු ඇණකින් තොරව ඔහුගේ පරිශීලකයා ලෙස ඔහුගේ වෙනස්කම් සිදු කළ හැකිය.
  • නිධිය පිරිසැලසුම. ඔබට කුඩ ව්‍යාපෘතියක් සහ උප ව්‍යාපෘති තිබිය හැකි අතර පරීක්ෂා කළ යුතු දේ තෝරා ගන්න.
  • සංශෝධන අංක පූර්ණ සංඛ්‍යා වැඩි කරයි.
  • මධ්යම නිධිය වැඩ ප්රවාහය සඳහා නිර්මාණය කර ඇත.

සත්‍යාපන ගැටළුව සඳහා +1. Git commits අත්සන් කළ යුතු අතර, අත්සන් කිරීම පරීක්ෂා කිරීම අවශ්‍ය වේ.
ක්‍රිස්ටියන්

6

අනෙක් අය හොඳ පිළිතුරු කිහිපයක් පළ කර ඇත, නමුත් අවසර ගැන කුමක් කිව හැකිද? SSH හරහා Subversion භාවිතා කරමින්, ඔබට SVN සඳහා ඔබේ සේවාදායකයේ වෙනම ගිණුමක් කළ හැකිය. විවිධ සංවර්ධකයින්ට නිධියේ විවිධ කොටස් වලට විවිධ ප්‍රවේශයන් ලබා දිය හැකිය. GIT හට එය කළ හැකිද? ගිටොලයිට් ඇති බව මම අනුමාන කරමි, නමුත් එය මට නම්යශීලී හෝ ශක්තිමත් බවක් නොපෙනේ, ඇත්ත වශයෙන්ම එය භාවිතා කරන කිසිවෙකු මම නොදනිමි.


2
තවත් සමහරු "ඉහළ-පහළ කළමනාකරණ පාලනය" සඳහන් කිරීමේදී මෙය පහර දී ඇත. මෙය මගේ පරිසරය සඳහා ප්‍රධාන අංගයකි - අපගේ ගබඩාවල ඇතැම් ක්ෂේත්‍ර අප සතුව ඇත, ඒවා කියවීමට පමණක් හෝ සමහර පරිශීලක කණ්ඩායම් සඳහා කියවීමට පවා අගුළු දැමිය යුතුය. අපට පෙන්වා දිය හැකි තනි ස්ථානයක් තිබිය යුතු අතර "මෙය බලයලත් ප්‍රධාන පිටපතයි, ඔබේ පිටපත මෙහි ඇති දේට නොගැලපේ නම් එය නිල නොවේ."
alroc

1
ව්‍යාපෘති නායකත්වය සහ ලුතිනන්වරුන්ගේ ආශීර්වාද ලත් ගබඩාව මඟින් කළ හැක්කේ කාටද යන්න පාලනය කිරීමයි. Http-auth සක්‍රීය සේවාදායකයේ ප්‍රකාශයට පත් කරන ලද Git repo (svn කරන එකම අපාචේ මොඩියුල භාවිතා කරමින්) සත්‍යාපනය කර ක්ලෝන / පරීක්ෂා කළ හැක්කේ කාටදැයි කියන්න. ඇත්ත වශයෙන්ම, එය ඩිරෙක්ටරි අවසරයකට අනුව svn තරම් කැටිති නොවේ, නමුත් මට එය සැබෑ අවශ්‍යතාවයට වඩා ක්ෂුද්‍ර කළමනාකරණය මෙන් පෙනේ.
හියුබට් කාරියෝ

Ub හියුබට් කාරියෝ - මෙය ප්‍රශ්නයක් මතු කරයි, "ඔබේ හොඳම ක්‍රමලේඛකයින් වෙනත් පුද්ගලයින්ගේ කේත පරීක්ෂා කිරීමට කාලය ගත කළ යුතුද?" ඇත්ත වශයෙන්ම, මම මෙම ප්‍රශ්නයට පිළිතුර ගැන කොතරම් උනන්දුවක් දක්වනවාද, මම එය මෙහි පළ කළෙමි: programmmers.stackexchange.com/questions/181817/…
GlenPeterson

5

මම මෙය පළ කරන්නේ අදහස් දැක්වීමකට වඩා ප්‍රතිචාරයක් වශයෙනි.

DVCS වලට වඩා දැන් ප්‍රවණතාවක් පවතින බව මම පිළිගනිමි, නමුත් එයට හේතුව පැවසීමට මම උත්සාහ කරමි.

ඩීවීසීඑස් වඩා හොඳ වන්නේ බොහෝ අය පවසන පරිදි “අපි මුල සිටම වැඩ කළ යුතුව තිබුණේ මේ ආකාරයටයි”. එය සත්‍යයකි, ඔබට SVN සමඟ භාවිතා කළ දේ DVCS සමඟ කළ හැකිය, එබැවින් SVN යල් පැන ගිය ආකාරයකට.

කෙසේ වෙතත්, සෑම මෘදුකාංග ව්‍යාපෘතියක්ම ලැබෙන තරම් හොඳ නැත:

  • දිගු කාලීන ව්‍යාපෘතියට ඩීවීසීඑස් වෙතින් බොහෝ වාසි ඇත, මන්ද එය අඩු පොදු කාර්යයක් භාවිතා කරයි, වඩා හොඳ කළමනාකරණයට (අතු බෙදීම් ආදිය) ඉඩ සලසයි, සහ ගූගල් කේතය සහ ගිතබ් වැනි සත්කාරක සමාගම් විශාල වශයෙන් සහාය දක්වයි.

  • එම ව්‍යාපෘති පමණක් නොවේ, බාහිර ලෝකයේ හෝ අන්තර්ජාලයේ කිසිදු ආධාරයක් නොමැතිව සමාගම්වල සංවර්ධනය වෙමින් පවතින වෙනත් ආකාරයේ ව්‍යාපෘති තිබේ: සෑම දෙයක්ම අභ්‍යන්තරව හා බොහෝ විට කෙටි කාලීනව සිදු කෙරේ. හොඳ උදාහරණයක්: වීඩියෝ ක්‍රීඩාවක්. කේතය වේගයෙන් පරිණාමය වේ.

දෙවැන්න නම්, සංවර්ධකයින්ට සැබවින්ම DVCS වෙතින් ලබා දිය හැකි ශාඛා හෝ නවීන අංග අවශ්‍ය නොවේ, ඔවුන්ට අවශ්‍ය වන්නේ ප්‍රභව කේත සහ වත්කම් බෙදා ගැනීමට ය. ඔවුන් විසින් සාදන ලද කේතය නැවත භාවිතා කිරීමට ඉඩක් නැත, මන්ද නියමිත කාල සීමාවක් ඇත. ඔවුන් හේතු කිහිපයක් නිසා DVCS වෙනුවට SVN මත රඳා සිටිති:

  • සංවර්ධකයින්ට සමාගමට අයත් යන්ත්‍ර තිබේ, මෙය වේගයෙන් වෙනස් විය හැකිය. Repo එකක් වින්‍යාස කිරීම කාලය නැතිවීමකි.
  • එම පුද්ගලයින්ට තමන්ගේම යන්ත්‍රයක් නොමැති නම්, ඔවුන් එකම ප්‍රභව කේතයක / ව්‍යාපෘතියේ කොටසක් මත වැඩ කිරීමට ඇති ඉඩකඩ අඩුය. මධ්‍යගත දත්ත සඳහා ප්ලස් වන්.
  • ජාල වේගය සහ විශාල මුදල් සියල්ල SVN සමඟ කටයුතු කරන මධ්‍යගත සේවාදායකයක් භාවිතා කිරීමට ඉඩ දෙයි, එය නරක පුරුද්දකි නමුත් උපස්ථ සෑදී ඇත.
  • SVN භාවිතා කිරීම පහසුය , එය වැරදි මාර්ගයක් වුවද: අතිරික්තයක් නොමැතිව සම වයසේ මිතුරන් මත සමමුහුර්ත කිරීම සරල ගැටළුවක් නොවන අතර "එය නිවැරදි ආකාරයෙන් කරන්න" ඔබට එය සැමවිටම පරිපූර්ණ වීමට අවශ්‍ය නම් එය නිසි වේලාවට කළ නොහැක.

ක්‍රීඩා කර්මාන්ත යන්ත්‍රය ගැන සහ SVN කාලය ඉතිරි කරන ආකාරය ගැන සිතන්න; ක්‍රීඩා එම පුනරාවර්තන ක්‍රමලේඛනය සහ අනුවර්තන කේතය නිසා මිනිසුන් බොහෝ දේ සන්නිවේදනය කරයි: කේත කිරීමට අපහසු කිසිවක් නැත, නමුත් එය නිවැරදි ආකාරයෙන් කළ යුතුය, ASAP. ක්‍රමලේඛකයින් කුලියට ගනු ලැබේ, ඔවුන් ඔවුන්ගේ කොටස කේත කරයි, එය සම්පාදනය කරයි, එය ටිකක් පරීක්ෂා කරයි, කැපවීම, සිදු කිරීම, ක්‍රීඩා පරීක්ෂකයින් සෙසු අය සමඟ කටයුතු කරනු ඇත.

DVCS අන්තර්ජාලය හා ඉතා සංකීර්ණ ව්‍යාපෘති සඳහා නිපදවා ඇත. SVN යනු කුඩා, කෙටි කාලීන, දැඩි කණ්ඩායම් ව්‍යාපෘති සඳහා ය. ඔබට SVN වෙතින් බොහෝ දේ ඉගෙන ගැනීමට අවශ්‍ය නැත, එය ගොළු වෙනසක් සහිත FTP ය.


ක්‍රීඩා කර්මාන්තයේ උදාහරණය ඔබට පැහැදිලි කළ හැකිද?
johnny

5

වේගය. සමහර විට විශාල git ගබඩාවක් ක්ලෝන කිරීමට මිනිත්තු 10 ක් හෝ 15 ක් ගත වන අතර, සමාන ප්‍රමාණයේ උපසිරැසි ගබඩාවක් පරීක්ෂා කිරීමට මිනිත්තු කිහිපයක් ගත වේ.


6
නමුත් පිටවීම / ක්ලෝන කිරීම දුර්ලභ මෙහෙයුමකි. බොහෝ අවස්ථාවන්හීදී, ගිටාරය කඩාකප්පල් කිරීමට වඩා වේගවත් වේ.
rds

5
git clone --depth=1ඔබ ඉතිහාසය ගැන සැලකිල්ලක් නොදක්වන්නේ නම් ඔබේ මිතුරා වේ
හියුබට් කාරියෝ

4

උපසිරැසි සහ Git යන දෙකම සංවර්ධනය හා සහයෝගීතාව සඳහා විශේෂිත (හා බෙහෙවින් වෙනස්) ප්‍රවේශයන් දිරිමත් කරයි. සමහර සංවිධාන Git වෙතින් වැඩි ප්‍රමාණයක් ලබා ගන්නා අතර අනෙක් ඒවා ඔවුන්ගේ සංවිධානය සහ සංස්කෘතිය මත පදනම්ව උපසිරැසි වලින් වැඩි ප්‍රමාණයක් ලබා ගනී.

ඉහළ නිපුණතාවයකින් යුත් වෘත්තීය ක්‍රමලේඛකයින්ගේ බෙදා හරින ලද සහ ලිහිල් ලෙස සංවිධානය වූ කණ්ඩායම් සඳහා Git සහ Mercurial යන දෙකම විශිෂ්ටයි. මෙම ජනප්‍රිය DVCS මෙවලම් දෙකම කුඩා නිධි සඳහා දිරිගන්වයි, සංවර්ධකයින් අතර නැවත භාවිතා කිරීම ප්‍රකාශිත පුස්තකාල හරහා (සාපේක්ෂව) ස්ථාවර අතුරුමුහුණත් සමඟ සිදු වේ.

අනෙක් අතට, යටපත් කිරීම, සංවර්ධකයින් අතර වැඩි සන්නිවේදනයක් සහ එදිනෙදා සංවර්ධන ක්‍රියාකාරකම් කෙරෙහි වැඩි සංවිධානාත්මක පාලනයක් සහිතව වඩාත් මධ්‍යගත හා තදින් බැඳී ඇති කළමනාකරණ ව්‍යුහයක් දිරිමත් කරයි. වඩාත් සංයුක්ත ලෙස සංවිධානය කරන ලද මෙම කණ්ඩායම් තුළ, සංවර්ධකයින් අතර නැවත භාවිතා කිරීම (සාපේක්ෂව) අස්ථායී අතුරුමුහුණත් සහිත ප්‍රකාශයට පත් නොකළ පුස්තකාල හරහා සිදු වේ. වෘත්තීය ක්‍රමලේඛකයින් නොවන සාමාජිකයින් (උදා: පද්ධති ඉංජිනේරුවන්, ඇල්ගොරිතම ඉංජිනේරුවන් හෝ වෙනත් විෂය ක්ෂේත්‍ර විශේෂ special යින්) සමඟ බහුවිධ කණ්ඩායම්වලට සහාය දැක්වීමට ඉබ්බන්ට එස්වීඑන් අවසර දෙයි.

ඔබේ කණ්ඩායම බෙදා හරිනු ලැබුවහොත්, සාමාජිකයන් නිවසේ සිට හෝ විවිධ ජාත්‍යන්තර වෙබ් අඩවි වලින් වැඩ කරන්නේ නම් හෝ ඔවුන් තනිවම හා නිහ silence ව වැඩ කිරීමට කැමති නම්, මුහුණට මුහුණ සන්නිවේදනය කිරීම අඩු නම්, එවිට Git හෝ Mercurial වැනි DVCS එකක් හොඳ වනු ඇත. සංස්කෘතික සුදුසුකම්.

අනෙක් අතට, ඔබේ කණ්ඩායම තනි වෙබ් අඩවියක පිහිටා තිබේ නම්, සංවර්ධනය සඳහා ක්‍රියාකාරී “කණ්ඩායම්” ප්‍රවේශයක් සහ මුහුණට මුහුණ සන්නිවේදනය කිරීම, වාතයේ “හ zz ක්” සමඟ නම්, SVN a වඩා හොඳ සංස්කෘතික සුදුසුකමක්, විශේෂයෙන් ඔබට හරස් විනය කණ්ඩායම් ගොඩක් තිබේ නම්.

ඇත්ත වශයෙන්ම, ඔබට අවශ්‍ය ඕනෑම දෙයක් කිරීමට Git සහ Hg (බලවත් හා නම්‍යශීලී) වින්‍යාසගත කළ හැකි නමුත් එය අනිවාර්යයෙන්ම වැඩි වැඩක් වන අතර ඒවා අනිවාර්යයෙන්ම භාවිතා කිරීමට අපහසුය, විශේෂයෙන් කණ්ඩායමේ සාමාජිකයින්ට ස්වාභාවිකවම ඕනෑම ආකාරයක අනුවාද පාලනයක් භාවිතා කිරීමට නැඹුරු නොවනු ඇත .

අවසාන වශයෙන්, Svn යටතේ "උණුසුම්" පුස්තකාල සංවර්ධනය භාවිතා කරමින් ක්‍රියාකාරීත්වය බෙදාගැනීම (සීඅයි සහ පරීක්ෂණ මත පදනම් වූ ප්‍රවේශයක් සමඟ) සම්බන්ධීකරණ සංවර්ධනයේ වේගයකට ඉඩ සලසන අතර එය වඩාත් බෙදා හරින ලද සහ ලිහිල්ව සම්බන්ධ වූ කණ්ඩායමක් සමඟ ළඟා කර ගැනීමට අපහසු වේ.


2

පහත දැක්වෙන්නේ මම තවමත් එස්.වී.එන් සමඟ රැඳී සිටීමට හේතු දෙකකි.

  1. ඉගෙනීමේ වක්‍රය. SVN Git වලට වඩා පහසුය, සැකසුම (සේවාදායකයා හෝ සේවාදායකයාද), භාවිතාව සහ විධාන පවා.
  2. Subversion Edge , VisualSVN , uberSVN වැනි වඩා හොඳ සේවාදායක පැකේජ .

1
# 1 සඳහා +1. SVN එදිරිව GIT රූප සටහන් මෙහි සසඳන්න steveko.wordpress.com/2012/02/24/10-things-i-hate-about-git
s_t_e_v_e

1

අනුවාද පාලනයේ ප්‍රධාන ප්‍රවණතා දෙකක් දැන් තිබේ; බෙදා හැරීම සහ ඒකාබද්ධ කිරීම .

විමධ්‍යගත කිරීමේදී Git විශිෂ්ටයි.

SVN සතුව මෙවලම් රාශියක් ගොඩනගා ඇත. ඔබේ SVN සේවාදායකය සැකසීම සාමාන්‍ය දෙයක් වන අතර එමඟින් ඔබ නිවැරදි කිරීමක් පරීක්ෂා කරන විට, ඔබ චෙක්පින් විවරණයේ දෝෂ අංකය සඳහන් කරන අතර, එය ස්වයංක්‍රීයව එය “පරීක්‍ෂා කිරීමේ” තත්වයට සැකසෙන අතර ඔවුන්ට අවශ්‍ය පරීක්‍ෂකවරයාට අනතුරු අඟවයි. එය දෙස බලන්න. එවිට ඔබට නිකුතුවක් ටැග් කර මෙම නිකුතුවේ ඇති සියලුම දෝෂ ලැයිස්තුවක් ලබා ගත හැකිය.

SVN සමඟ මෙය කරන මෙවලම් පරිණත වන අතර සෑම දිනකම භාවිතා වේ.


-1

උපසිරැසි ගැන්වීමේදී, බැඳීම සිදු කර තල්ලු කිරීමෙන් පසුව ඔබට ලොග් පණිවිඩ සංස්කරණය කළ හැකිය ("බැඳීම් පණිවිඩ" ලෙසද හැඳින්වේ). බොහෝ ප්‍රායෝගික භාවිතයන් සඳහා, git ද ඇතුළුව විමධ්‍යගත පද්ධතිවල සැලසුම් කිරීමෙන් මෙය කළ නොහැකි ය. ඇත්ත වශයෙන්ම, git හි ඔබට "git commit --amend" කළ හැකිය, නමුත් ඔබගේ කැපවීම වෙනත් තැනකට තල්ලු කිරීමෙන් පසුව එය ඔබට උදව් නොකරයි. SVN හි, ඔබ ලොග් පණිවිඩය සංස්කරණය කරන විට, ඔබ එය කරන්නේ සියල්ලන්ම බෙදාගන්නා මධ්‍යම ගබඩාවේ ය, එබැවින් සෑම කෙනෙකුටම සංස්කරණය ලැබෙනු ඇත, සහ සංශෝධනයේ හඳුනාගැනීමේ වෙනස් කිරීමකින් තොරව.

කාරණයෙන් පසු ලොග් පණිවිඩ සංස්කරණය කිරීම බොහෝ විට ඉතා ප්‍රයෝජනවත් වේ. ලොග් පණිවිඩයක වැරැද්දක් හෝ අතපසු වීමක් හැරුණු විට, අනාගත බැඳීමක් වෙත යොමු කිරීම සඳහා ලොග් පණිවිඩයක් යාවත්කාලීන කිරීම වැනි දෑ කිරීමට එය ඔබට ඉඩ සලසයි (දෝෂයක් නිවැරදි කරන හෝ වර්තමාන සංශෝධනයෙන් හඳුන්වා දී ඇති කාර්යයන් සම්පූර්ණ කරන සංශෝධනයක් වැනි) .

මාර්ගය වන විට තොරතුරු අහිමි වීමේ අනතුරක් අවශ්‍ය නොවේ. පූර්ව පුනරුත්ථාපන-වෙනස් කිරීම සහ පශ්චාත්-පුනර්ජනන-වෙනස් කිරීමේ කොකු මඟින් ඔබ සැබවින්ම සැලකිලිමත් වන්නේ නම් පැරණි පණිවිඩවල ඉතිහාසයක් සුරැකිය හැකිය, නැතහොත් ලොග් පණිවිඩ වෙනස සහිත ඊමේල් යැවිය හැකිය (මෙය වඩාත් සුලභ ය, ඇත්ත වශයෙන්ම), එවිට එහි විගණන මාවත.


1
මෙය git වලින් කිරීමට ද සරල ය; උදා: git --amend; මෙය කළ හැකි තවත් ක්‍රමයක් වන්නේ git reset --soft HEAD via හරහා වන අතර එය ආපසු ඇවිදින නමුත් දර්ශකය වෙනස් නොකරයි, එවිට ඔබට බැඳීම් පණිවිඩය සංස්කරණය / නැවත ලිවිය හැකිය.
doug

හායි, ඩග්. ඔව්, ඔබේ දේශීය ගබඩාව සඳහා ඔබට එය කළ හැකිය, නමුත් මම කතා කරන්නේ ඔබ වෙනස වෙනත් තැනකට තල්ලු කළ පසු - “git commit --amend” ඔබට එතරම් උදව් නොකරයි. SVN හි, ඔබට මධ්‍යම සේවාදායකයේ ලොග් පණිවිඩය සංස්කරණය කළ හැකිය, හරියටම මධ්‍යම සේවාදායකයේ සංකල්පයක් ඇති බැවිනි. මා අදහස් කළේ “විමධ්‍යගත පද්ධතිවල සැලසුම් කිරීමෙන් කළ නොහැකි” යන්නයි. මෙය වඩාත් පැහැදිලි කිරීම සඳහා මම මගේ පිළිතුර සංස්කරණය කරමි.
කාල් ෆොගල්

1
"ඔබට ඉතිහාසය සමඟ ගැටගැසීමට" විශේෂාංගයක් යැයි කියන්නේ කෙසේදැයි මම කැමතියි . එය හිතාමතා නොකළේ නම් මම එය දෝෂයක් ලෙස සලකමි.
cHao
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.