මෙන්න මම භාවිතා කරන ශාඛා නම් කිරීමේ සම්මුතීන් සහ ඒවාට හේතු
ශාඛා නම් කිරීමේ සම්මුතීන්
- ඔබේ ශාඛා නාම ආරම්භයේදී කණ්ඩායම් ටෝකන (වචන) භාවිතා කරන්න.
- ඔබේ කාර්ය ප්රවාහයට අර්ථවත් වන අතු වෙන්කර දැක්වීමට කෙටි ඊයම් ටෝකන නිර්වචනය කර භාවිතා කරන්න.
- ඔබේ ශාඛා නාමවල කොටස් වෙන් කිරීමට කප්පාදුව භාවිතා කරන්න.
- ප්රමුඛ කොටස් ලෙස හිස් අංක භාවිතා නොකරන්න.
- දිගුකාලීන ශාඛා සඳහා දිගු විස්තරාත්මක නම් වලින් වළකින්න.
කණ්ඩායම් ටෝකන
ඔබේ ශාඛා නාම ඉදිරිපිට "කණ්ඩායම්" ටෝකන භාවිතා කරන්න.
group1/foo
group2/foo
group1/bar
group2/bar
group3/bar
group1/baz
ඔබගේ කාර්ය ප්රවාහයට ගැලපීමට ඔබ කැමති ඕනෑම දෙයක් කණ්ඩායම් නම් කළ හැකිය. මගේ සඳහා කෙටි නාම පද භාවිතා කිරීමට මම කැමතියි. වැඩි පැහැදිලි කිරීමක් සඳහා කියවන්න.
හොඳින් මනාව නිර්වචනය කළ ටෝකන
කෙටි ටෝකන තෝරන්න එවිට ඔබේ සෑම ශාඛා නාමයකටම වැඩි ශබ්දයක් එකතු නොවේ. මම මේවා භාවිතා කරමි:
wip Works in progress; stuff I know won't be finished soon
feat Feature I'm adding or expanding
bug Bug fix or experiment
junk Throwaway branch created to experiment
මෙම සෑම ටෝකනයක්ම එක් එක් ශාඛාවට අයත් ඔබගේ කාර්ය ප්රවාහයේ කුමන කොටසටද යන්න ඔබට පැවසිය හැකිය.
වෙනසක විවිධ චක්ර සඳහා ඔබට බහු ශාඛා ඇති බව පෙනේ. ඔබගේ චක්ර මොනවාදැයි මම නොදනිමි, නමුත් ඒවා 'නව', 'පරීක්ෂණ' සහ 'සත්යාපිත' යැයි උපකල්පනය කරමු. මෙම ටැග් වල සංක්ෂිප්ත අනුවාදයන් සමඟ ඔබේ ශාඛා නම් කළ හැකිය, සෑම විටම එකම ආකාරයකින් අක්ෂර වින්යාසය, ඒවා දෙකම කණ්ඩායම් කිරීමට සහ ඔබ සිටින්නේ කුමන අවධියේදැයි ඔබට මතක් කර දීමට.
new/frabnotz
new/foo
new/bar
test/foo
test/frabnotz
ver/foo
එක් එක් විවිධ අදියර කරා ළඟා වී ඇත්තේ කුමන ශාඛාදැයි ඔබට ඉක්මනින් පැවසිය හැකි අතර, Git හි රටා ගැලපුම් විකල්ප භාවිතා කර ඔබට ඒවා පහසුවෙන් කාණ්ඩගත කළ හැකිය.
$ git branch --list "test/*"
test/foo
test/frabnotz
$ git branch --list "*/foo"
new/foo
test/foo
ver/foo
$ gitk --branches="*/foo"
කොටස් වෙන් කිරීම සඳහා කප්පාදුව භාවිතා කරන්න
ශාඛා නාම වලින් ඔබ කැමති ඕනෑම පරිසීමකය භාවිතා කළ හැකිය, නමුත් කප්පාදුව වඩාත් නම්යශීලී බව මට පෙනේ. ඔබ ඉරක් හෝ තිත් භාවිතා කිරීමට කැමති විය හැකිය. නමුත් කප්පාදුව මඟින් දුරස්ථව සිට / තල්ලු කිරීමේදී හෝ ලබා ගැනීමේදී ශාඛා නැවත නම් කිරීමක් කිරීමට ඔබට ඉඩ සලසයි.
$ git push origin 'refs/heads/feature/*:refs/heads/phord/feat/*'
$ git push origin 'refs/heads/bug/*:refs/heads/review/bugfix/*'
මට, කප්පාදුව මගේ කවචයේ ටැබ් පුළුල් කිරීම (විධාන සම්පූර්ණ කිරීම) සඳහා වඩා හොඳින් ක්රියා කරයි. මා එය වින්යාස කර ඇති ආකාරය අනුව කොටසෙහි පළමු අක්ෂර ටයිප් කර TAB යතුර එබීමෙන් විවිධ උප කොටස් සහිත ශාඛා සෙවිය හැකිය. Zsh පසුව මා ටයිප් කළ ටෝකනයේ කොටස හා ගැලපෙන අතු ලැයිස්තුවක් ලබා දෙයි. මෙය පෙර ටෝකන සඳහා මෙන්ම කාවැද්දූ ඒවා සඳහාද ක්රියා කරයි.
$ git checkout new<TAB>
Menu: new/frabnotz new/foo new/bar
$ git checkout foo<TAB>
Menu: new/foo test/foo ver/foo
(විධාන සම්පූර්ණ කිරීම සම්බන්ධයෙන් ෂෙල් ඉතා වින්යාසගත කළ හැකි අතර, ඉරක්, අවධාරනය හෝ තිත් එකම ආකාරයකින් හැසිරවීමට මට එය වින්යාසගත කළ හැකිය. නමුත් මම තෝරා නොගත්තෙමි.)
බොහෝ git විධානයන්හි ශාඛා සෙවීමටද එය ඔබට ඉඩ දෙයි:
git branch --list "feature/*"
git log --graph --oneline --decorate --branches="feature/*"
gitk --branches="feature/*"
Caveat: අදහස් දැක්වීමේදී ස්ලිප් පෙන්වා දෙන පරිදි, කප්පාදුව ගැටළු ඇති කළ හැකිය. ශාඛා මාර්ග ලෙස ක්රියාත්මක වන බැවින්, ඔබට "foo" නමින් ශාඛාවක් සහ "foo / bar" නමින් තවත් ශාඛාවක් තිබිය නොහැක. මෙය නව පරිශීලකයින් සඳහා ව්යාකූල විය හැකිය.
හිස් අංක භාවිතා නොකරන්න
ඔබේ ශාඛා නම් කිරීමේ යෝජනා ක්රමයේ කොටසක් ලෙස හිස් අංක (හෝ හෙක්ස් අංක) භාවිතා නොකරන්න. විමර්ශන නාමයක පටිත්ත පුළුල් කිරීමේදී, ශාඛා නාමයක් වෙනුවට අංකයක් ෂා -1 හි කොටසක් බව git විසින් තීරණය කළ හැකිය. උදාහරණයක් ලෙස, මගේ නිකුතුව ට්රැකර් දශම සංඛ්යා සහිත දෝෂ නම් කරයි. ව්යාකූලත්වය වළක්වා ගැනීම සඳහා මම මගේ සම්බන්ධ ශාඛා CRnnnnn ලෙස නම් කරමි.
$ git checkout CR15032<TAB>
Menu: fix/CR15032 test/CR15032
මම 15032 ක් පමණක් පුළුල් කිරීමට උත්සාහ කළහොත්, මට SHA-1 හෝ ශාඛා නාම සෙවීමට අවශ්ය දැයි git සැක සහිත වන අතර මගේ තේරීම් තරමක් සීමිත වනු ඇත.
දිගු විස්තර සහිත නම් වලින් වළකින්න
ඔබ ශාඛා ලැයිස්තුවක් දෙස බලන විට දිගු ශාඛා නම් ඉතා ප්රයෝජනවත් වේ. නමුත් සරසන ලද එක් පේළියේ ල logs ු-සටහන් දෙස බැලීමේදී එය මඟට යා හැකි බැවින් ශාඛා නාමයන්ට තනි පේළියේ වැඩි කොටසක් ආහාරයට ගත හැකි අතර ලොගයේ දෘශ්යමාන කොටස කෙටියෙන් දැක්විය හැකිය.
අනෙක් අතට, ඔබ අතින් පුරුද්දක් ලෙස නැවත ලිවීම නොකළහොත් දිගු ශාඛා නාම “ඒකාබද්ධ කිරීමේ කොමිස්” සඳහා වඩාත් උපකාරී වේ. පෙරනිමි ඒකාබද්ධ කිරීමේ පණිවිඩය වේ Merge branch 'branch-name'
. ඒකාබද්ධ කිරීමේ පණිවිඩ Merge branch 'fix/CR15032/crash-when-unformatted-disk-inserted'
නිකම්ම වෙනුවට පෙන්වීම ඔබට වඩාත් ප්රයෝජනවත් විය හැකිය Merge branch 'fix/CR15032'
.