බුධ ග්‍රහයා Git ට වඩා පහසු යැයි සලකන්නේ ඇයි?


204

සැසඳීම් දෙස බලන විට, ඒවායේ විශේෂාංග කට්ටල අතර 1: 1 සිතියම් ගත කළ හැකි බව මට පෙනේ. එහෙත්, බොහෝ විට උපුටා දක්වන ලද ප්‍රකාශයක් නම් “මර්කුරියල් පහසුය” යන්නයි. මෙම ප්‍රකාශයේ පදනම කුමක්ද? (යම්)


21
අමුතුයි, මම කවදාවත් අහලා නැහැ මර්කුරියල් පහසුයි කියලා. මට Git සඳහා තවත් ලියකියවිලි හමු විය (සංජානනය විය හැකිය) එබැවින් මම එය ඉගෙන ගතිමි.
නික්

16
එය ලිනස් විසින් සාදන ලද නිසාද?
ජොබ්

124
මෙහි ශුද්ධ යුද භූමිය තුළට ගමන් කිරීම, නමුත් මට Git ට වඩා මර්කියුරියල් භාවිතා කිරීම පහසු බව පෙනී ගියේ, වින්ඩෝස් පරිශීලකයෙකු ලෙස මට මර්කුරියල් විසින් සාදරයෙන් පිළිගන්නා බවක් දැනුණු අතර, Git විසින් විකාර සහ පරාජිතයෙකු ලෙස සැලකූ බැවිනි. මම මෘදුකාංග මානව වර්ගීකරණය කරන බව මම දනිමි, ඒ දෙකම වින්ඩෝස් යටතේ හොඳින් භාවිතා කිරීමට හැකියාව ඇති බව මම දනිමි, නමුත් ඔවුන් දෙදෙනා විසින් ලබා දී ඇති හැඟීම එයයි.
කාර්සන් 63000


11
ගිතුබ් නොපවතින නම් හෝ ඉහළ මට්ටමේ ව්‍යාපෘති රාශියක් නොතිබුනේ නම් කීදෙනෙක් Git භාවිතා කරනු ඇත්දැයි මම කල්පනා කරමි.
ක්‍රිස් එස්

Answers:


240

කාරණය අනුව: ඔබගේ පෙර කළ සියලු කාර්යයන් වල පරිශීලක නාමය වෙනස් කිරීමට ඔබට අවශ්‍ය යැයි කියමු. විවිධ හේතු නිසා මට මෙය කිහිප වතාවක් කිරීමට අවශ්‍ය විය.

Git අනුවාදය

git filter-branch --commit-filter '
        if [ "$GIT_COMMITTER_NAME" = "<Old Name>" ];
        then
                GIT_COMMITTER_NAME="<New Name>";
                GIT_AUTHOR_NAME="<New Name>";
                GIT_COMMITTER_EMAIL="<New Email>";
                GIT_AUTHOR_EMAIL="<New Email>";
                git commit-tree "$@";
        else
                git commit-tree "$@";
        fi' HEAD

රසදිය අනුවාදය:

author.convert.list ගොනුව:

<oldname>=<newname>

විධාන රේඛාව:

hg convert --authors authors.convert.list SOURCE DEST

දැන්, භාවිතා කිරීමට පහසු යැයි පෙනෙන එක කුමක්ද?


සටහන: මම වසර 2 ක් තනිකරම Git සමඟ වැඩ කළෙමි, එබැවින් මෙය "මම එයට වෛර නොකරමි, තත්පර 2 කින් මට එය නොලැබුණි"

මට නම් එය භාවිතාවයි. Git ඉතා ලිනක්ස් නැඹුරු වන්නේ ලිනක්ස් ක්‍රමයක් සමඟය. එයින් අදහස් කරන්නේ විධාන රේඛාව, මෑන් පිටු සහ එය ඔබටම හදුනා ගැනීමයි. එහි ඉතා දුර්වල GUI එකක් තිබුණි (සටහන: මම මීට වසරකට පමණ පෙර සිට මෙය msysGit වලින් ඉවත් කරමි), එය මගේ මාර්ගයට පිවිසෙන බවක් පෙනෙන්නට තිබුණි. මට එය යන්තම් භාවිතා කළ හැකිය

විධාන රේඛාව වඩාත් නරක විය. ලිනක්ස් නැඹුරු වැඩසටහනක් වීම නිසා වින්ඩෝස් හි එය භාවිතා කිරීම ඉතා අපහසු විය. ස්වදේශික වරායක් වෙනුවට ඔවුන් හුදෙක් මින්ජීඩබ්ලිව් (සිතන්න සිග්වින්) සමඟ ගිටාරය ඔතා ඇති අතර එමඟින් එය සමඟ වැඩ කිරීම වඩාත් අපහසු විය. MinGW යනු වින්ඩෝස් විධාන විමසුමක් නොවන අතර වෙනස් ආකාරයකින් ක්‍රියා කරයි. Git සමඟ වැඩ කිරීමට ඇති එකම ක්‍රමය මෙය වීම පිස්සුවකි. ලිනක්ස් වල පවා එකම ක්‍රමය සරල විධාන රේඛාව සමඟ වැඩ කිරීමයි. RabbitVCS වැනි ව්‍යාපෘති සමහරුන්ට උදව් කළ නමුත් ඒවා එතරම් බලවත් නොවීය.

විධාන රේඛා දිශානත ප්‍රවේශය සහ ලිනක්ස් වැඩසටහනක් වීම යන්නෙන් අදහස් කරන්නේ, කෙසේ මඟ පෙන්වීම්, උපකාරක ලියකියවිලි සහ සංසදය / QA ප්‍රශ්න සියල්ලම පාහේ ඉහත සඳහන් කළ භයානක විධාන ක්‍රියාත්මක කිරීම මත රඳා පවතින බවයි. මූලික SCM විධානයන් (කැපවීම, අදින්න, තල්ලු කිරීම) එතරම් සංකීර්ණ නොවේ, නමුත් තවත් හා සංකීර්ණත්වය on ාතීය ලෙස වර්ධනය වේ.

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

Git භාවිතා කරන්නන් ද ඉතා ඇදහිලිවන්තයන් මෙන් පෙනුණි. GC භාවිතා කරන්නන් සෑම විටම DVCS වඩා හොඳ “ශුද්ධ යුද්ධ” ආරම්භ කරන අය බව පෙනේ, එමඟින් මර්කියුරියල් පරිශීලකයින්ට තමන්ව ආරක්ෂා කර ගැනීමට බල කරයි. Http://whygitisbetterthanx.com/ වැනි වෙබ් අඩවි අහංකාරය සහ “මගේ මෘදුකාංගය භාවිතා කරන්න හෝ මිය යන්න” යන මානසිකත්වය පෙන්නුම් කරයි. බොහෝ විට මම විවිධ උපකාරක ස්ථානවලට ගොස් ඇත්තේ X ගැන නොදැන සිටීම, X කලින් භාවිතා කිරීම, වින්ඩෝස් භාවිතා කිරීම යනාදිය නිසාය.


අනෙක් අතට රසදිය කාරුණික ප්‍රවේශය දෙසට යන බව පෙනේ. ඔවුන්ගේම මුල් පිටුව නව පරිශීලකයින්ට Git ගේ වෙබ් අඩවියට වඩා මිත්‍රශීලී බව පෙනේ . සරල ගූගල් සෙවුමක 5 වන ප්‍රති result ලය වන්නේ ඉබ්බන් එච්ජී, මර්කුරියල් සඳහා ඉතා හොඳ චිත්‍රයකි. ඔවුන්ගේ සමස්ත ප්‍රවේශය පළමුව සරල බව පෙනේ, පසුව බලය.

මර්කුරියල් සමඟ මට එස්එස්එච් විකාර නැත (වින්ඩෝස් හි එස්එස්එච් නිරය), මට මෝඩ ලෙස සංකීර්ණ විධානයන් නොමැත, මට සංස්කෘතික පරිශීලකයෙකු නොමැත, මට පිස්සු නැත. මර්කුරියල් ක්‍රියා කරයි.

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

මර්කුරියල්, නවකයන්ට ඉතා මිත්‍රශීලී වීම, තෝරා ගැනීම ඉතා පහසු විය. විවිධ ශාඛා ආකෘතිය සහ ඉතිහාසය සංස්කරණය කිරීම වැනි වඩාත් සංකීර්ණ මාතෘකා පවා අනුගමනය කිරීම ඉතා පහසු විය. මම ඉක්මනින් හා වේදනා රහිතව මර්කුරියල් තෝරා ගත්තා.

මර්කුරියල් ද පළමු වරට කුඩා සැකසුමකින් ක්‍රියා කරයි. ඕනෑම මෙහෙයුම් පද්ධතියක මට ඉබ්බන් එච්ජී ස්ථාපනය කර විවිධ ගයිස් සඳහා දඩයම් නොකර මට අවශ්‍ය සියලුම අංග (ප්‍රධාන වශයෙන් සන්දර්භය මෙනු විධාන) ලබා ගත හැකිය. එස්එස්එච් සැකසීම ද අතුරුදහන් වී ඇත (එහි සිටින මගපෙන්වන්නන්ගෙන් අඩක් පුට්ටි, ප්ලින්ක් සහ පේජන්ට් භාවිතා කරන ලෙස පවසන අතර අනෙක් භාගය ssh-keygen භාවිතා කරන ලෙස පවසයි). නව පරිශීලකයින් සඳහා, TortoiseHg සැකසීමට මිනිත්තු කිහිපයක් ගත වන අතර Git බොහෝ ගොග්ලිං සමඟ විනාඩි 30 සිට පැයක් ගත වේ.

අවසාන වශයෙන් ඔබට සබැඳි ගබඩාවන් තිබේ. ගිතුබ්ස් සමාන වන්නේ මා ඉහත දක්වා ඇති ගැටළු කිහිපයක් ඇති බිට්බකට් ය. කෙසේ වෙතත් ගූගල් කේතය ද ඇත. මම ගූගල් කේත ව්‍යාපෘතියකට ගිය විට , මට විශේෂාංග අධික ලෙස පැටවෙන්නේ නැත, මට හොඳ පිරිසිදු අතුරු මුහුණතක් ලැබේ. ගූගල් කේතය යනු ඔන්ලයින් රෙපෝ / වෙබ් අඩවි සංයෝජනයකි, එය දැනට පවතින අඩවි සැකසුමක් නොමැති OSS ව්‍යාපෘති සඳහා සැබවින්ම උපකාරී වේ. මගේ ව්‍යාපෘති වෙබ් අඩවිය ලෙස ගූගල් කේතය සෑහෙන කාලයක් තිස්සේ භාවිතා කිරීම මට ඉතා පහසුවක් වනු ඇත. එහි නිකුත් ට්රැකර් Github ගේ පාහේ පලක් නිකුත් සැළසුම් සමුහය අතර අවසරයෙන් සරිලන, ද බලවත් Bugzilla ගේ දුෂ්ඨත්වයේ .

මර්කුරියල් පළමු වරට සෑම අවස්ථාවකදීම ක්‍රියා කරයි. Git මගේ මාර්ගයට පිවිසෙන අතර මා එය භාවිතා කරන තරමට මා කෝප කරයි.


6
අදහස් දක්වන්නන්: අදහස් දැක්වීම් යනු පැහැදිලි කිරීමක් සෙවීම සඳහා මිස දීර් discussion සාකච්ඡාවක් සඳහා නොවේ. ඔබට විසඳුමක් තිබේ නම්, පිළිතුරක් තබන්න. ඔබේ විසඳුම දැනටමත් පළ කර ඇත්නම්, කරුණාකර එය ඉහළ නංවන්න. ඔබ මෙම ප්‍රශ්නය අන් අය සමඟ සාකච්ඡා කිරීමට කැමති නම්, කරුණාකර කතාබස් භාවිතා කරන්න . වැඩි විස්තර සඳහා නිතර අසන පැන බලන්න .

1
IntelliJ IDEA සහ Xcode 4 ඔවුන්ගේ වේදිකාවල Git සමඟ පුදුමාකාර ලෙස ඒකාබද්ධ වී ඇති අතර එදිනෙදා කාර්යයන් සඳහා ඔබ කිසි විටෙකත් විධාන රේඛාව භාවිතා කළ යුතු නොවේ.

4
ඔබට කවුළු මත GIT භාවිතා කිරීමට අවශ්‍ය වූ විට ඉබ්බන් ජීඅයිටී වඩා හොඳ බව මම එක් කිරීමට කැමැත්තෙමි. ඔබ තවමත් SSL යතුරු සමඟ කටයුතු කළ යුතු අතර ස්ථාපන ක්‍රියාවලිය සුමට නැත, නමුත් එය සිදු කළ විට එය පහසුවෙන් ක්‍රියාත්මක වේ.
ආර්ක්

2
Git දීර් ensions කිරීම් කවුළු වල ඉබ්බන් එච්ජීට වඩා සැරිසැරීමට සහ වැඩ කිරීමට මට පෞද්ගලිකව වඩා පහසු වන අතර, මම භාවිතා කර ඇත්තේ විධාන රේඛා 1 ක් පමණි.
KallDrexx

1
මම මෙම රේඛාවෙන් යම් ආකාරයකින් අවුල් වී සිටිමි: "MinGW යනු වින්ඩෝස් විධාන විමසුමක් නොවේ. එය වෙනස් ලෙස ක්‍රියා කරයි. Git සමඟ වැඩ කිරීමට ඇති එකම ක්‍රමය මෙය වීම පිස්සුවකි." වින්ඩෝස් විධාන රේඛාවෙන් ධාවනය කිරීම සඳහා මම msysgit ස්ථාපනය සහ විකල්ප 2 භාවිතා කරමි. එය හොඳින් ක්‍රියාත්මක වේ. ක්‍රියා නොකරන දේවල් කිහිපයක් තිබේ (කැරට් වැනි, ඩොස් හි රේඛීය-අඛණ්ඩ චරිතයක් වැනි) නමුත් ඒවාට (ටිල්ඩ් වැනි) හොඳින් ක්‍රියා කරන විකල්ප තිබේ. මම විධාන රේඛා උද්යෝගිමත් අයෙක් නොවේ (හෝ අවම වශයෙන් මම Git ඉගෙනීමට පෙර නොවේ) නමුත් විධාන රේඛාව සමඟ Git භාවිතා කිරීම ඇත්තෙන්ම පහසුය. මට යමක් මග හැරී තිබේද?
Kyralessa

80

Git vs Mercurial

මර්කුරියල් සාමාන්‍යයෙන් Git ට වඩා සරල හා ඉගෙනීමට පහසු යැයි විශ්වාස කෙරේ. අනෙක් අතට, Git වඩාත් නම්‍යශීලී හා බලවත් ය යන මතය බොහෝ විට පවතී. මෙයට එක් හේතුවක් වන්නේ, Git වඩා පහත් මට්ටමේ විධාන සැපයීමට නැඹුරු වීම පමණක් නොව, පෙරනිමි මර්කියුරියල් උසස් විශේෂාංග සැඟවීමට නැඹුරු වීම නිසා පරිශීලකයින්ට ඔවුන් කැමති උසස් විශේෂාංග සක්‍රිය කිරීම සඳහා රසදිය වින්‍යාස ගොනුව සංස්කරණය කිරීමට ඉඩ දීමයි. මෙය බොහෝ විට මර්කුරියල් හි උසස් විශේෂාංග නොමැති බව වටහා ගැනීමට හේතු වේ.

Git සංකල්ප

මර්කුරියල් සෑම විටම අතුරු මුහුණත් කෙරෙහි වැඩි අවධානයක් යොමු කර ඇති අතර එමඟින් මුලින් ඉගෙනීම පහසු විය. Git හා සැසඳීමේදී, මර්කරියල් සමඟ ප්‍රයෝජනවත් ආකාරයකින් ක්‍රියා කිරීමට නොගැඹුරු අවබෝධයක් අවශ්‍ය වේ. දිගු කාලීනව ගත් කල, එවැනි encapsulation චපල අඩු බලවත් හා featureful ඇත්තෙන්ම එය වඩා වීම බොරු පෙනුම ලබා දී ඇත.


73
එබැවින් මර්කුරියල් සැඟවී ඇත්තේ උසස් ක්‍රියාකාරිත්වය පමණක් වන අතර GIT සියළුම ක්‍රියාකාරීත්වය සඟවයි ... ;-)
විස්මිත

4
Git කරන්නේ තවත් බලය වැඩි. උදාහරණයක් ලෙස git හි HEAD ~ 1 ට සමාන නොවේ . මර්කුරියල් සතුව p (x) ඇති අතර එය අතු හරහා විහිදේ. Hg හි වේදිකාවක් නොමැත. ඔබ තල්ලු කරන විට සියලුම ශාඛා තල්ලු කළ යුතුය. හිස්ටෙඩිට්, රාක්කය සහ නැවත සකස් කිරීම වැනි සියලුම ප්ලගීන සමඟ වුවද මර්කරියල් නම්යශීලී නොවේ. Git හි විධාන රේඛාව ද වඩා හොඳය, එය පරිශීලකයාට ඉඟි ලබා දෙයි, රසදිය එසේ නොවේ. තරමක් අබලන් වූ මෙම DVCS වැඩ කිරීමේදී භාවිතා කිරීමට මට බල කෙරී ඇති අතර රසදිය මට අවශ්‍ය දේ කිරීමට ශක්තියක් නොමැති අවස්ථාවන්ට මම පැමිණ සිටිමි.
කීඕ

22
E කියෝ: බුධ ග්‍රහයා සතුව පුනරාවර්තන~ බලන්න . එයට වේදිකා ගතවන ප්‍රදේශයක් නොමැත, නමුත් ඔබට එය MQ සමඟ අනුකරණය කළ හැකිය, එය වඩා බලවත් ය. Git වෙතින් ඔබ දන්නා දේට ඇලී සිටිනවාට වඩා මෙවලම භාවිතා කිරීමට ඉගෙන ගන්න, එය ගෙවනු ඇත.
ඉඩාන් කේ

22
E කියෝ: ඔබ තල්ලු කරන විට මර්කුරියල් සමඟ සියලු ශාඛා තල්ලු කළ යුතු නැත. ඔබට විශේෂිත ශාඛාවක් ( hg push --branch BRANCH) හෝ නිශ්චිත සංශෝධනයක් ( hg push --rev REV) දක්වා තල්ලු කළ හැකිය . කරුණාකර hg help pushතවත් විකල්ප සඳහා බලන්න .
රීජන්ට්

1
FYI, යමෙකුට වාර්තාගත දිගුව භාවිතා කරමින් වේදිකා ගතවන ප්‍රදේශයේ සැලකිය යුතු උප කුලකයක් ලබා ගත හැකිය . OTOH, මම සිතන්නේ රාක්ක දිගුව (බාසාර්හි "රාක්ක" විධානයට අනුව සකස් කර ඇති අතර "git stash" ට ආසන්නව) වේදිකාගත වන ප්‍රදේශය භාවිතා කිරීමේ බොහෝ අරමුණු සඳහා වඩා හොඳ සේවාවක් සපයයි.
බ්‍රැන්ඩිසි

47

සන්දර්භය: මම දිනපතා මර්කුරියල් (වැඩ සඳහා) සහ Git (පැති ව්‍යාපෘති සහ විවෘත මූලාශ්‍ර සඳහා) යන දෙකම භාවිතා කරමි. මම මූලික වශයෙන් දෙකම භාවිතා කරන්නේ (IDE නොවේ) සහ මම මැක් මත ය.

පොදුවේ ගත් කල, මර්කුරියල් සමඟ වැඩ කිරීම පහසු බව මට පෙනේ. මා සොයා ගන්නා කරුණු කිහිපයක් මර්කුරියල් පහසු කරයි:

  1. දර්ශකයේ ack නතාවය. මෙම දර්ශකය Git හි බොහෝ විශේෂාංග සක්‍රීය කරන ප්‍රබල මෙවලමක් වන නමුත් එය මම නිතිපතා කරන බොහෝ දේ සඳහා පියවරක් එකතු කරන අතිරේක ස්ථරයකි. මර්කුරියල්ගේ කාර්ය ප්‍රවාහය svn වැනි දෙයකට වඩා සමාන ය.
  2. ෂාස් වෙනුවට සංශෝධන අංක. මෙය කුඩා දෙයක් වන අතර මර්කුරියල් හි සෑම දිනකම විධාන සමඟ වැඩ කිරීම පහසු කරයි. නැවත සකස් කිරීම, ඒකාබද්ධ කිරීම යනාදී වශයෙන් සංශෝධන අංක කිහිපයක් ඔබේ හිසට තල්ලු කිරීම පහසුය.
  3. ශාඛා. කොමිස් නම් කිරීමෙන් ශාඛා වෙත Git ගේ ප්‍රවේශය අනෙකුත් අනුවාද පාලන පද්ධති වලට වඩා බලවත් හා සැලකිය යුතු ලෙස වෙනස් වේ. එය සමහර දේවල් ගොඩක් පහසු කරයි. මර්කුරියල්ගේ ප්‍රවේශය svn සිතීම මඳක් වඩා හොඳින් ගැලපෙන අතර ශාඛා ඉතිහාසය දෘශ්‍යමය වශයෙන් තේරුම් ගැනීම පහසු කරයි. මෙය මනාපයක් විය හැකිය.

6
දර්ශකය සඳහන් කිරීම සඳහා +1; මම දර්ශකය හා එහි අන්තර් හිතන්නේ මේ චපල වඩා ඉගෙන ගැනීමට GIT වඩාත් දුෂ්කර කරවන දෙයක්.
ෂෝන් මැක්මිලන්

18
මෙම hgසමාන gitශාඛා ඇත්තටම හැඳින්වේ bookmarks. මා දන්නා පරිදි, hgශාඛාවලට සමාන අගයක් නොමැත git.
හැන්ක් ගේ

6
මම එකම තත්වයක සිටිමි, රැකියාවේ රසදිය සහ නිවසේ ගිටාරය සමඟ. රසදිය අතු බෙදීම මට තරමක් කරදරකාරී ය, මම කැමතියි පුද්ගලික ශාඛා තබා ඒවා මා කැමති විට තල්ලු කරන්න. රසදිය මට රාක්ක හෝ අතිරේක ගබඩාවන් භාවිතා කිරීමට බල කරයි. සංශෝධන අංක මෝඩය, මට හැෂ් දෙන්න. වේදිකාව git වලින් නියමයි, මට මෙය මග හැරී ඇත. මට ඇත්තටම git වල බලය නැති වී ඇත. මම ප්ලගීන කිහිපයක් සමඟ දේවල් කිහිපයක් කළ නමුත් අතු බෙදීම මට ඇත්තෙන්ම කරදරයක්.
කීඕ

6
E කියෝ - මගේ අත්දැකීම් අනුව, gitඅතු බෙදීම යනු අතු බෙදීමේ උප කුලකයකි hg. දී hgඔබ මේ දෙකම නම් කළ හැකි ඇති අතර නම සඳහන් නොකල (ස්ථල විද්යාත්මක) ශාඛා, සහ සමාන ආකාරයකින් නම සඳහන් නොකල ශාඛා කළමනාකරණය කළ හැකිය gitපිටුසන් භාවිතා කිරීම. මම කවදාවත් වේදිකා ගත කරන ස්ථානය දැකලා නැහැ. මම බොහෝ විට අනවශ්‍ය වෙනස්කම් වළක්වා පසුව මගේ කේතය සම්පාදනය කර එය සම්පූර්ණ කිරීමට පෙර එය සම්පූර්ණ කිරීමට වග බලා ගන්නෙමි. මට පසුව ඉවත් කර ඉදිරියට යා හැකිය. එසේම, චාල්ස් බේලිගේ "සම්බාහන හන්ක්ස්" (p90 +) මා බිය ගන්වයි * 8 '): acc.org/content/conf2011/accu2011LT_fri_share_v2.pdf
මාර්ක් බූත්

7
E කියෝ: මර්කුරියල් හි පුද්ගලික ශාඛා 'පොත් සලකුණු' ලෙස හැඳින්වේ: මූල සංශෝධනයට යාවත්කාලීන hg bookmark keyo-stuffකරන්න, දේවල් කරන්න hg commit, පසුව අවසානයේදී hg push -B keyo-stuff. ඔබ සංශෝධන අංක වලට අකමැති නම්, ඒවා භාවිතා නොකරන්න; මර්කුරියල් විසින් ඕනෑම තැනක හැෂ් එකක් පිළිගනු ඇත, එය සංශෝධන අංකයක් පිළිගනු ඇත, මම සිතමි. මට කියන්නට ඇත්තේ, මර්කුරියල් හි ලක්ෂණ නොමැති වීම නිසා ඔබේ අදහස් නොදැනුවත්කමින් හා තරමක් ආක්‍රමණශීලී ලෙස පෙනී සිටීමයි. ඔබ Git භාවිතා කරන්නන්ගේ ඒකාකෘති සඳහා බොහෝ යහපත් දේ නොකරයි!
ටොම් ඇන්ඩර්සන්

29

මෙය ඉතා ආත්මීය වන අතර එය එක් පුද්ගලයෙකුගෙන් තවත් පුද්ගලයෙකුට රඳා පවතී, නමුත් ඔව්, මම එය VCS වෙත සම්පූර්ණයෙන්ම අළුත් කෙනෙකුට හෝ "පැරණි පාසැල්" VCS වලින් එන කෙනෙකුට, මර්කුරියල් පහසු යැයි පෙනේ.

නිදසුනක් ලෙස, ලිපිගොනු එකතු කිරීම, එච්ජී හි දර්ශකයේ නොපවතින බව, පැරණි සංශෝධනයකට ආපසු යාමේ පහසුව සහ එතැන් සිට අතු බෙදීම (යාවත්කාලීන කර කැපවීම) වඩාත් “පැහැදිලි” උදාහරණ ලෙස. දැන් එක් පද්ධතියක බොහෝ අංගයන් වෙනත් ආකාරයකින් අනුකරණය කළ හැකි නමුත් ඊට Git පිළිබඳ යම් දැනුමක් අවශ්‍ය වන අතර මර්කියුරියල් හි පෙරනිමි (ඔබ ඒවා මට ඇමතීමට ඉඩ දෙන්නේ නම්) තරමක් “පරිශීලක හිතකාමී” වේ. එම කුඩා දේවල් - මෙහි සහ එහි මාරුවීම, එක් විධානයක පැහැදිලි නොවන හැසිරීම සහ යනාදිය ... මේ දේවල් එකතු වන අතර අවසානයේ එක් පද්ධතියක් අනෙකට වඩා භාවිතා කිරීමට පහසු බව පෙනේ.

පිළිතුර සම්පූර්ණ කිරීම සඳහා; මම git භාවිතා කරමි, නමුත් "ඔවුන්ට අලුත්" කෙනෙකු සඳහා VCS නිර්දේශ කරන විට, මම සෑම විටම පාහේ මර්කුරියල් නිර්දේශ කරමි. මට මතකයි, එය මුලින්ම මගේ අතට පැමිණි විට, එය ඉතා බුද්ධිමත් බවක් දැනුණා. මර්කියුරියල් Git ට වඩා අඩු wtf / මිනිත්තුවක් නිපදවන බව මගේ අත්දැකීමයි.


+1 "අඩු wtf / මිනිත්තුව" -1 සඳහා "මෙය ඉතා ආත්මීයයි". එය එතරම් ආත්මීය නොවේ ... මිනිසුන් තවමත් UI හි වෙනස්කම් ආත්මීය යැයි සිතන්නේ මන්දැයි මම නොදනිමි. මම රසදිය සහ එම්ඩී 5 හෑෂ් එහි විධානයන් ගත්තොත්, සමහර අයට මුල් පිටපතට වඩා එම්ඩී 5 හැෂ් එකක් වඩා බුද්ධිමත් යැයි සිතිය හැකිය. (මම බලාපොරොත්තු නොවෙමි). Git සම්බන්ධයෙන් ද එය එසේම ය. Git රසදිය වලට වඩා පහසු වන්නේ ඔබේ අත්දැකීම් රසදිය වඩා සැලකිය යුතු තරම් වැඩි නම් පමණි.
weberc2

17

මම හිතන්නේ එය මේ තරම්ම සරලයි: මර්කුරියල්ට වඩාත් හුරුපුරුදු වාක්‍ය ඛණ්ඩයක් ඇත (විශේෂයෙන් SVN භාවිතා කරන්නන් සඳහා) සහ එය තරමක් හොඳින් ලේඛනගත කර ඇත. ඔබ Git සින්ටැක්ස් වලට හුරු වූ පසු, ඔබට වෙනත් ඕනෑම දෙයක් භාවිතා කිරීම පහසුය.


7
නෑ. ඔබට එය "වෙනස් සින්ටැක්ස්" ලෙස හැඳින්වීමට තවත් වැඩ ප්‍රවාහ පියවර තිබේ. Git භාවිතා කිරීම සඳහා ඔබ හසුරුවන යටින් පවතින ආකෘතිය සහ git දර්ශකයේ සියලුම තත්වය ඔබ තේරුම් ගත යුතුය. SQL සහ පැස්කල් එකම දේ සඳහා වෙනස් සින්ටැක්ස් දෙකක් යැයි පැවසීම සමානවම වැරදිය. Git යනු DVCS විශේෂාංග සහිත ගොනු-පද්ධති-අන්තර්ගත-අනුවාද පද්ධතියකි. මර්කුරියල් යනු ජී.අයි.ටී. විසින් කරන සෑම ගොනු-පද්ධති-අන්තර්ගත-සංස්කරණ ක්‍රියාවලියක්ම නොකරන DVCS ය, DVCS භාවිතා කරන්නන් සියල්ලන්ටම අවශ්‍ය වන උප කුලකය පමණි.
වොරන් පී

9

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

මම රසදිය භාවිතා කරන්නෙකු වන අතර Git ගැන විවෘත මනසක් තබා ගැනීමට උත්සාහ කරන අතර මර්කුරියල්ට ඇති තරමටම එය “මගේ අලුත්ම ප්‍රියතම දේ” බවට පත් වී නැති බව මම නිදහසේ පිළිගනිමි. මම හිතන්නේ Git ඇත්තෙන්ම හොඳයි.

GIT / රසදිය සංකීර්ණතාව සඳහා ප්‍රතිවිරුද්ධ උදාහරණයක්: නියම GIT සහාය මැක්හි XCode තුළට ගොඩනගා ඇත. GIT ට වඩා මර්කුරියල් සමඟ XCode භාවිතා කිරීම පහසුය.

GIT සමඟ මෙතෙක් මා ලැබූ අත්දැකීම නම්, මම ව්‍යාකූලත්වයට පත්වී නැති වී ඇති අතර, එය භාවිතා කරන අතරතුරදී ලියකියවිලි විමසා බැලිය යුතුය. බොහෝ ලියකියවිලි ලියා ඇති බව මම විශ්වාස කරමි, නමුත් එය "උදුරා ගැනීමට" මට හැකි කිසිවක් නැත. දෙවනුව, මට පහසුවෙන් පයිතන්හි මර්කුරියල් වෙනස් කිරීමට හා දීර් extend කිරීමට හැකි අතර, මම පයිතන්හි දක්ෂ බැවින්, ඕනෑම කෙනෙකුට ඉක්මනින් පයිතන් ඉගෙන ගත හැකි බැවින්, එය මට වාසියක් ලෙස පෙනේ. මම C ද දන්නා අතර C හි පයිතන් දිගු ලියන්නෙමි, එබැවින් යම් දවසක මට අවශ්‍ය නම් මට පහසුවෙන් C හි Git දිගුවක් ලිවිය හැකිය.

භාවිතයේ පහසුව ප්‍රමාණ කිරීම පහසු දෙයක් නොවේ. එය එහි ඇත, එය මුළුමනින්ම ආත්මීය යැයි මම නොසිතමි, නමුත් අපට හොඳ වෛෂයික මිනුම් ක්‍රම නොමැත. භාවිතයේ පහසුව සඳහා වන ඒකක මොනවාද? මිලි-අයි-පොඩ්?

මම 100% රසදිය ගැති සහ 100% ප්‍රති-ගිටාර් තරම් පක්ෂග්‍රාහී නොවේ. මම දැන් මර්කියුරියල්, වින්ඩෝස් සහ ලිනක්ස් වල වඩාත් සුවපහසු වන අතර, මම තවත් මැක් වැඩ කිරීමට පටන් ගත් විට, මම XCode + GIT සමඟ සම්බන්ධ වීමට උත්සාහ කරමි යැයි බලාපොරොත්තු වෙමි.

යාවත්කාලීන 2013: ඒකාබද්ධ කිරීමේ ක්‍රමෝපායන් පිළිබඳ මෙම ප්‍රශ්නය වැනි Git සතුව තිබු සමහර විශේෂාංග සොයා ගැනීමට මම දැන් මර්කුරියල් සහ ජීඅයිටී භාවිතා කර ඇත . ඇත්තටම Git විශ්මයජනකයි, ඉගෙන ගැනීමට අපහසු නම් සහ සමහර විට උමතු ලෙස සංකීර්ණ වේ.


7

IMO විසින් නව පරිශීලකයින් Git වලින් ඉවත් කිරීමට ඉඩ ඇති කරුණු කිහිපයක් තිබේ:

  1. Git සංස්කෘතිය විධාන රේඛා කේන්ද්‍රීය වේ. මෙවලම් දෙකම විධාන රේඛාව කෙරෙහි වැඩි අවධානයක් යොමු කරන අතර (මම කිහිප වතාවක් පවසා ඇති පරිදි, විධාන රේඛා උපදෙස් බලවත් හා චතුර ලෙස විය හැකිය, නමුත් ඒවා හොඳ අලෙවිකරණ උපාය මාර්ගයක් නොවේ ) මෙය Git සම්බන්ධයෙන් වැඩි වැඩියෙන් සිදු වේ. මර්කියුරියල් ටර්ටොයිස් එච්ජී හි තථ්‍ය සම්මත GUI මෙවලමක් ඇති අතර, එය මර්කියුරියල් මුල් පිටුවෙහි වින්ඩෝස් භාවිතා කරන්නන් සඳහා සුපුරුදු බාගත කිරීමේ විකල්පය වන අතර, Git හි තරඟකාරී GUI ඉදිරිපස අන්ත කිහිපයක් ඇත (ඉබ්බා ගිට්, Git Extensions, gitk, ආදිය) හොඳින් ප්‍රචාරය නොකෙරේ. Git වෙබ් අඩවියේ, කෙසේ වෙතත් ඒවා සියල්ලම සම්පූර්ණ ඇස් පෙනීමකි. (රතු ලේබල්වල කළු පා text? කැමන්, ඉබ්බා ගිට්, ඔබට ඊට වඩා හොඳින් කළ හැකිය!) GUI මෙවලම් භාවිතා කරන පුද්ගලයින් නිසි මෘදුකාංග සංවර්ධකයින් නොවන බවට Git ප්‍රජාව තුළ වඩාත් පුළුල් ආකල්පයක් ඇත.

  2. උසස් පරිශීලකයින්ට පරිපූර්ණ අර්ථයක් ලබා දෙන පිටතින් පෙරනිමි කිහිපයක් Git සතුව ඇත, නමුත් නව පරිශීලකයින්ට බිය නොවන්නේ නම් එය පුදුමයට කරුණක් වනු ඇත. නිදසුනක් ලෙස, ඒකාබද්ධ කිරීම වැනි කාර්යයන් ස්වයංක්‍රීය කිරීම පිළිබඳව එය වඩාත් ආක්‍රමණශීලී වේ (නිදසුනක් ලෙස, git pull ස්වයංක්‍රීයව ඒකාබද්ධ වී හැකි සෑම විටම සිදු කරයි). සම්පුර්ණයෙන්ම ස්වයංක්‍රීයව ඒකාබද්ධ කිරීම සඳහා නඩුවක් ඇත , නමුත් බොහෝ අද්දැකීම් අඩු පරිශීලකයින් ඒකාබද්ධ කිරීම ගැන භීතියට පත්වන අතර, ඔවුන්ගේ ප්‍රභව කේතය මත ඔවුන්ගේ පූර්ණ බලය මුදා හැරීමට පෙර ඔවුන්ගේ මෙවලම් කෙරෙහි විශ්වාසය දිනා ගැනීමට අවස්ථාව ලබා දිය යුතුය.

  3. ප්‍රලේඛනය සහ ආවේනික සංකීර්ණතාව:

    $ hg help log | wc -l
    64
    $ git help log | wc -l
    912
    

3
ඇත්ත වශයෙන්ම, 64 ට වඩා වැඩි
උපකාරයකට

10
ඇත්ත වශයෙන්ම, මම කැමතියි ඔබට මුලින් උදව් අවශ්‍ය නොවන තරමට බුද්ධිමත් හා බාධාවකින් තොර UI එකක්.
jammycakes

2
මට GUI සහ උදව් දෙකම අවශ්‍යයි. :) මට බුද්ධිමත් යැයි පෙනෙන දේ වෙනත් කෙනෙකුට අවුල් ජාලයක්.
ඩයිස්ටර්

1
ෂුවර්, නමුත් උදව් අවශ්‍ය වූ විට එය අනුගමනය කිරීම පහසු විය යුතුය.
jammycakes

3
මම නව ප්‍රතිසමයක් ගැන සිතුවෙමි; Git C ++ (සමාවෙන්න ලිනස්!) හා මර්කුරියල් පැස්කල් වැනි ය. පැස්කල් (හෝ මර්කුරියල්) හි එක් ආකාරයකින් පමණක් කළ හැකි දේ පැහැදිලිවම කළ හැකිය, සී ++ (සහ ගිට්) හි විවිධ ආකාර 19 ක්. සමහර අය වැඩි බොත්තම් සහ ලීවර සහිත පවර්ටූල් වලට වැඩි කැමැත්තක් දක්වන අතර Git යනු එයයි.
වොරන් පී

3

මට සිතිය හැකි එක් දෙයක් නම්

git add .
git commit -am "message"

එදිරිව.

hg ci -Am "message"

git commit -aඅළුතින් සාදන ලද ලිපිගොනු එකතු hg ci -Aනොකරයි , එසේ කරයි, එයින් අදහස් වන්නේ git සමඟ විධාන දෙකක් අවශ්‍ය දෙයක් මර්කියුරියල් හි එක් විධානයකින් කළ හැකි බවයි. නැවතත්, "අඩු ටයිප් කිරීම" යන්නෙන් "වඩා පරිශීලක හිතකාමී" යන්න අදහස් නොවේ.


11
මගේ කාර්ය ප්‍රවාහයේ ස්වයංක්‍රීයව නව ලිපිගොනු එකතු කිරීම ඇත්තෙන්ම නුසුදුසු බව මම බොහෝ විට සොයා ගතිමි . මම පැමිණියේ git commit -aහුදෙක් ක්‍රියා කරන ආකාරය කැමති නිසා එය කළ හැකි දේ පාලනය කිරීම පහසු කරවන අතර ලබා දී ඇති කැපවීම සඳහා එකතු නොකෙරේ. (එය ගැටලුවක් නොවේ අසාමාන්ය මට සෑම තනි තනි මංපෙත් නම් නියම කිරීම සඳහා ය svn ciඅ සිදු අසම්බන්ධිත ද්රව්ය එකතු වළක්වා ගැනීමට.)
greyfade

3
සාධාරණයි, නමුත් මම විශ්වාස කරන්නේ ධජය hg ciනොමැතිව -Aසමාන දේ කරන git commit -aබවයි. මම gg භාවිතා කර ඇත්තේ hg ට වඩා වැඩිය, එබැවින් මට 100% විශ්වාස නැත.
ෂෙහාඕ මාඕ

මම පරීක්ෂා කර ඇත්තෙමි, hg ci== git commit -a.
ෂෙහාඕ මාඕ

නමුත් ඔබ විශේෂිත ලිපිගොනු hg commit සමඟ සඳහන් කරන්නේ නම්, ඔබට අවශ්‍ය නැති ඒවා ඇද ගැනීමෙන් වළක්වා ගත හැකිය. මට මෙම පාලනය අවශ්‍ය වන අවස්ථා වලදී, මෙය හොඳින් ක්‍රියාත්මක වන බව මට පෙනේ.
ඇලෙක්ස් මිලර්

1
ඇයි ඔබ "එකතු කරන්න". ඉන්පසු "git commit -am"? සියල්ල දැනටමත් දර්ශකයට එකතු නොවේද?
jacobangel

3

මන්ද එය එසේ ය.

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

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

Hginit ගැන ද ඉහත අදහස් දැක්වීමට මම එකඟ වෙමි , එය නිසැකවම රසදිය තේරුම් ගැනීමට පහසු කරවයි. හොඳින් ලියා ඇති අතර තේරුම් ගැනීමට ඉතා පහසුය. Git සඳහා ලියා ඇති කිසිදු ලේඛනයක් සමීප නොවේ. ස්කොට් චැකෝන් විසින් ලියන ලද බොහෝ දේ මම සොයා ගතිමි.

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.