Git අතු බෙදීම සහ හොඳම භාවිතයන් ටැග් කිරීම


150

මම දැනට Pro Git කියවීමෙන් Git භාවිතා කිරීමට ඉගෙන ගන්නවා . දැන් මම ශාඛා හා ටැග් ගැන ඉගෙන ගන්නවා. මගේ ප්‍රශ්නය වන්නේ මම ශාඛාවක් භාවිතා කළ යුත්තේ කවදාද සහ ටැගයක් භාවිතා කළ යුත්තේ කවදාද යන්නයි.

උදාහරණයක් ලෙස, ව්‍යාපෘතියක 1.1 අනුවාදය සඳහා මම ශාඛාවක් නිර්මාණය කරන බව පවසන්න. මම මෙම අනුවාදය අවසන් කර මුදා හරින විට, මුදා හැරීමේ අනුවාදය සලකුණු කිරීම සඳහා මම ශාඛාවෙන් ඉවත් විය යුතුද? නැත්නම් මම ටැග් එකක් එකතු කළ යුතුද? මම ටැගයක් එකතු කළහොත්, මම අනුවාද ශාඛාව මකා දැමිය යුතුද (එය මාස්ටර් හෝ වෙනත් ශාඛාවකට ඒකාබද්ධ වී ඇතැයි උපකල්පනය කර)?

Answers:


175

කෙටියෙන් කිවහොත්: හොඳම පුහුණුව වන්නේ අතු බෙදීම, බොහෝ විට ඒකාබද්ධ කිරීම සහ සැමවිටම සමමුහුර්තව තබා ගැනීමයි .

ඔබේ කේතය ප්‍රධාන ශාඛාවෙන් වෙනම ශාඛාවක තබා ගැනීම පිළිබඳ පැහැදිලි සම්මුතීන් ඇත:

  1. ඔබ විශාල හෝ කඩාකප්පල්කාරී වෙනසක් ක්‍රියාත්මක කිරීමට සූදානම්
  2. ඔබ භාවිතා කිරීමට නොහැකි සමහර වෙනස්කම් කිරීමට සූදානම්
  3. ඔබට විශ්වාස නැති දෙයක් ක්‍රියාත්මක වනු ඇතැයි ඔබට විශ්වාස නැත
  4. ඔබට අතු බෙදීමට පැවසූ විට, අනෙක් අයට ඔවුන් විසින් කළ යුතු දෙයක් තිබිය හැකිය

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

අනුගමනය කළ යුතු හොඳ පුරුදු

සාර්ථක Git අතු ආකෘතිය විසින් වින්සන්ට් Driessen හොඳ යෝජනා ඇත. මෙම ශාඛා ආකෘතිය ඔබට ආයාචනා කරන්නේ නම්, ප්‍රවාහයේ දිගුව git වෙත සලකා බලන්න . තවත් සමහරු ප්‍රවාහය ගැන අදහස් දක්වා ඇත .

ටැගින් කිරීමේ පුරුදු

ඔබ දැනටමත් දන්නා පරිදි, Git ඔබට 1.0-2-g1ab3183 වැනි හඳුනාගැනීම් සිදු කරයි, නමුත් ඒවා ටැග් නොවේ! ටැග් කිරීම git ටැගය සමඟ සිදු කෙරෙන අතර, git tag භාවිතයෙන් නිර්මාණය කර ඇති ටැග්ස්, git විස්තර කරන නිර්මාණ හඳුනාගැනීමේ පදනම වේ. වෙනත් වචන වලින් කිවහොත්, Git හි ඔබ අතු සලකුණු නොකරයි. ඔබ ටැග් කරයි. ටැගය කැපවීමකට විවරණය කළ දර්ශකයක් පමණක් යැයි පැවසීම නිවැරදි ය.

එය නිරූපණය කළ ප්‍රායෝගික උදාහරණය දෙස බලමු,

                        / - [v1.0]
                       v
---. ---. --- .--- එස් ---.--- ඒ <- මාස්ටර්
                         \ 
                           <-.--- බී <- පරීක්ෂණය

'V1.0' ටැගය මඟින් 'S' කැප කරමු. මෙම කැපවීම ශාඛා 'මාස්ටර්' සහ ශාඛා 'පරීක්ෂණය' යන දෙකෙහිම වේ. ඔබ 'A' ('මාස්ටර්' ශාඛාවේ ඉහළට) ඉහළින් " git description " ධාවනය කළහොත් ඔබට එවැනි දෙයක් ලැබෙනු v1.0-2-g9c116e9ඇත. ඔබ 'A' ('පරීක්ෂණ' ශාඛාව) ට ඉහළින් "git description" ධාවනය කරන්නේ නම්, ඔබට එවැනි දෙයක් ලැබෙනු ඇත v1.0-2-g3f55e41, පෙරනිමි git-description වින්‍යාසය සම්බන්ධයෙන් එය එසේමය. මෙම ප්‍රති result ලය තරමක් වෙනස් බව සලකන්න. v1.0-2-g9c116e9අප ගැන sortened SHA-1 අංකය සහිත සිදු කරන බව අදහස් 9c116e9, ටැගය පසු 2 අනාචාරයේ v1.0. ටැග් එකක් නැත v1.0-2!

ඔබේ ටැගය 'මාස්ටර්' ශාඛාවේ පමණක් දර්ශනය වීමට අවශ්‍ය නම්, ඔබට 'පරීක්ෂණ' ශාඛාවේ අතු බෙදීමෙන් පසු නව බැඳීමක් (උදා: GIT-VERSION-FILE හි පෙරනිමි / වැටීම් අනුවාද තොරතුරු යාවත්කාලීන කරන්න) නිර්මාණය කළ හැකිය. උදා: 'v1.0.3` සමඟ ඔබ' පරීක්ෂණ 'ශාඛාවේ කොමිස් ටැග් කළහොත් එය දෘශ්‍ය වන්නේ' පරීක්ෂණයෙන් 'පමණි.

යොමුව

මම ඉගෙන ගැනීමට බොහෝ, බොහෝ, ප්‍රයෝජනවත් බ්ලොග් සහ සටහන් සොයාගෙන ඇත. කෙසේ වෙතත්, වෘත්තීමය වශයෙන් නිරූපණය කර ඇති ඒවා දුර්ලභ ය. මේ අනුව, මම පෝස්ට් එකක් නිර්දේශ කිරීමට කැමැත්තෙමි - ඇන්වි විසින් සාර්ථක Git ශාඛා ආකෘතියක් . මම ඔහුගේ නිදර්ශනය ණයට ගත්තා :)

රූප විස්තරය මෙහි ඇතුළත් කරන්න


4
1.0-2-g1ab3183 යනු git වෙතින් ලබා ගත හැකි තොරතුරු වලින් විස්තර කර ඇති git විසින් සාදන ලද හඳුනාගැනීමක් වන නමුත් එය git හඳුනාගැනීමක් ලෙස හැඳින්වීම ටිකක් වැඩිය. SHA හෑෂ් මගින් Git හඳුනා ගනී; ටැග් සහ අතු යනු මිනිස් ඉදිකිරීම් වන අතර එය git උපකාරී වේ. එනිසා, යම් මිනිසෙකු යම් දිනෙක කැපවීමකට පහසු පිටු සලකුණක් සොයා ගැනීමට කැමති යැයි ඔබ සිතන විට ටැග් එකක් සාදන්න.
mabraham

2
git විශ්වයේ බහු-මාන පිළිබඳ පුදුමාකාර නිදර්ශනයක්. ලස්සනයි. ස්තූතියි
Tope

මෙම රූප සටහනේ පෙන්වා ඇති සමහර මංතීරු සඳහා බොහෝ ව්‍යාපෘතිවල අවශ්‍යතාවයක් නොමැති බව සඳහන් කිරීම වටී. සමහර ව්‍යාපෘති සඳහා අවශ්‍ය වන්නේ මෙහි සංවර්ධනය සහ අංගය ලෙස හැඳින්වෙන දේ පමණි. කැමැත්තෙන් යෙදවිය හැකි වෙබ් යෙදුම් සඳහා මෙය බොහෝ විට සත්‍ය වේ.
usr

38

ඔබට එකවර විවිධ සංස්කරණ 2 ක් තිබේ නම් ශාඛාවක් භාවිතා වේ. ටැගය යනු ඔබේ ගබඩාවේ වේලාව සලකුණු කිරීමට මාර්ගයකි.

මුදා හරින ලද අනුවාදයක් සලකුණු කිරීම සඳහා ඔබ ටැගයක් එක් කළ යුතුය. ඔබට එම නිකුතුව සඳහා දෝෂ නිවැරදි කිරීමට අවශ්‍ය නම් ඔබ ටැගයේ ශාඛාවක් සාදනු ඇත.

ඔබට අවශ්‍ය වන්නේ නැවත HEAD [හෝ වෙනත් ශාඛාවකට] ඒකාබද්ධ කළ ශාඛා මකා දැමීම පමණි.


3
ඔහ් ... මම හිතන්නේ ඔබ අදහස් කරන්නේ ශාඛාව මාස්ටර් වැනි වෙනත් ශාඛාවකට ඒකාබද්ධ වී ඇති බවයි. මම පිටවීමක් කරන සෑම අවස්ථාවකම හිස චලනය වේ, නේද?
කේතය-ගුරු

HEAD සාමාන්‍යයෙන් ශාඛාවකට යොමු කරයි (ඔබ වෙන්වූ HEAD මාදිලියේ නොමැති නම්), එබැවින් HEAD එය පෙන්වා දෙන ශාඛාව සමඟ ගමන් කරයි
LoicAG
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.