Git-ის სემანტიკური კომიტები
Git სასშუალებას გვაძლევს გვქონდეს დეველოპმენტის ისტორია. ეს ისტორია კი გამოისახება კომიტების საშუალებით.
იმისათვის, რომ ჩვენი პროგრამული უზრუნველყოფის ისტორია კითხვადი იყოს, რამეთუ ძნელბედობის ჟამს მოგვიწიოს მათ შორის ხარვეზის ძიება, საჭიროა გვქონდეს კომიტის წერის ერთი სტანდარტი და ერთი დისცპლინა.
თუ გვექნება დანერგილი პროექტის, პროდუქტისა თუ ორგანიზაციის გარშემო კომიტის წერის ერთი სტანდარტი მაშასადამე ჩვენ და ჩვენი კოლეგები გაცილებით მარტივად შევძლებთ კომიტთა ისტორიის სასურველი ეტაპის გამოკვლევასა და გამორკვევას.
სემანტიკური კომიტის ცნება უფრო ფილოსოფიაა ვიდრე კონკრეტული მკაცრი წესების კრებული. თითოეულ თემს(ორგანიზაციას, დეველოპერთა გუნდს და ა.შ.) შეიძლება თავის თავზე მორგებული სემანტიკური კომიტები ჰქონდეთ შემუშავებული. ჩვენც ჩვენი შევიმუშაოთ.
კომიტის სტრუქტურა
ჯერ გავერკვიოთ კომიტის ნაწილებში.
პირველი ხაზი არის კომიტის თავი, რომელშიც შეგვიძლია გავაკეთოთ კომიტის მოკლე აღწერა არაუმეტეს 50 სიმბოლოსი, მაგ:
კომიტს ასევე შესაძლოა ჰქონდეს ტანი, რომელშიც უფრო დაწვრილებითი აღწერა კეთდება. კომიტის თავისგან ერთი ხაზის გამოტოვებით იწერება კომიტის ტანი. მაგ:
ყველა კომიტს აქვს ტიპი: feat, fix, refactor და ა.შ.
ასევე ყველა კომიტს აქვს მოკლე აღწერა, რომელიც მოკლედ და ლაკონურად მიგვითითებს რა გაკეთდა ამ კონკრეტულ კომიტში.
აბსოლუტურად ყველა კომიტი უნდა შეიცავდეს ტიპს და მოკლე აღწერას, მაგ:
ასევე გვაქვს დამხმარე საშუალებები, რომლითაც უფრო მეტად კითხვადს და ზუსტს ვხდით კომიტს.
ერთ-ერთი ასეთი საშუალებაა სქოუფი. სქოუფი იწერება ტიპის შემდგომ ფრჩხილებში სანამ ორწერტილს და კომიტის მოკლე აღწერას დავწერთ. სტრუქტურულად ასე გამოიყურება.
სკოუფში ვწერთ “სათაურს” რაც აზუსტებს რაზეა საუბარი, მაგ:
ამ შემთხვევაში სქოუფი payments აზუსტებს, რომ ეს კონკრეტული კომიტი გადახდების სისტემას ეხება.
ასევე გვაქვს შესაძლებლობა, რომ კომიტზე გამოვხატოთ ემფაზა(ხაზგასმა). ამას ვაკეთებთ ტიპის შემდგომ, ორწერტილამდე ძახილისნიშნის დასმით. ამით მივუთითებთ, რომ კომიტი არის საყურადღებო(breaking change). როდესაც ემფაზირებულ კომიტს ვაკეთებთ, კომიტის ტანში უნდა მივუთითოთ ძირეული ცვლილების აღწერა რომელსაც BREAKING_CHANGE ფრაზით და ორწერთილით აღვნიშნავთ, მაგ:
კომიტის წერის 5 მცნება
კომიტის ტიპი, სქოუფი, მოკლე აღწერა და კომიტის ტანი აუცილებელია დაბალ რეგისტრში დავწეროთ(lowercase)
არის გამონაკლისები, როდესაც შესაძლოა მაღალი რეგისტრის სიტყვები გამოვიყენოთ. უმეტეს შემთხვევაში ის სიტყვები, რომლებიც ინგლისურ ენაში აუცილებლად მაღალ რეგისტრში დაიწერებოდა, მაგ: Redberry, Tusday, GET, POST და ა.შ.
ემფაზირებულ(breaking change) კომიტის ტანში აუცილებელია BREAKING_CHANGE იყოს მაღალ რეგისტრში და დაბალი ტირით გამოყოფილი.
კომიტის მოკლე აღწერა აუცილებელია იყოს აწმყო დროში(ანუ წარსულში არა)
კომიტის მოკლე აღწერა არ უნდა შეიცავდეს სასვენ ნიშნებს
კომიტის ტიპები
fix — გამოსწორებული რაიმე ხარვეზი
feat — დამატებულია ახალი ფუნქციონალი
style — მარქაფის ცვლილებები
refactor — კოდი გაუმჯობესდა ფუნქციონალის შეცვლის გარეშე
chore — რუტინული, ნაკლებსაყურადღებო ცვლილებები
docs — დოუმენტაციის გაუმჯობესება/დამატება
test — Unit/Feature/E2E ტესტებთან დაკავშირებული კომიტები
ci — Continuos Integration-თან დაკავშირებული კომიტები
wip — (work in progress) კონრეტული ფუნქციონალი ბოლომდე არ გვაქვს მიყვანილი და ამჟამად ჯერ დასრულებული არაა
Last updated