Konvensiyalı öhdəliklərlə dəyişiklik jurnalını necə yaratmaq olar

Önbelleği təmizlədikdən və dəyişənlərə ad verdikdən sonra dünyanın ən çətin işlərindən biri, kodunuzdakı bir versiyadan digərinə nəyin dəyişdiyini anlamaqdır. Semantik versiyanın istifadəsi, xüsusən də açıq mənbəli kitabxanalarda faktiki bir standartdır. Ancaq cəmi 3 aydan sonra layihəmizin 2.0.1 və 2.0.2 versiyaları arasındakı fərqləri necə xatırlaya bilərik?

CHANGELOG.md istifadəsi nəyin dəyişdiyini xatırlamaq və kodumuzu istifadə edənlərə nəyin həqiqətən dəyişdiyini bildirməsi üçün lazımlı həddən artıq oldu. Ancaq mən tənbəl bir inkişafçıyam. Hər işimdə etdiklərimi xatırlamaq və hər buraxılışda bir faylı əl ilə yeniləməyimi xatırlatmaq bacarığına sahib olmayacağam. Bir neçə saat Googlingdən sonra axtardığım cavabın əvvəldən bəri burnumun altında olduğunu gördüm. Git tarixçəsi avtomatik olaraq bir dəyişiklər faylı yaratmaq üçün lazım olan bütün məlumatları ehtiva edir!

Dəyişiklik qeydlərimizin avtomatik olaraq necə yaradıldığı barədə danışmazdan əvvəl sizi ənənəvi öhdəliklərlə tanış etməliyəm

Adi öhdəliklər

Konvensional öhdəlik spesifikasiyası, öhdəlik mesajları üzərində qurulmuş sadə bir konvensiyadır. Avtomatik alətlər yazmağı asanlaşdıran açıq bir öhdəlik tarixçəsi yaratmaq üçün sadə qaydalar dəsti təqdim edir. Bu konvensiya SemVer ilə əlaqəli mesajlarda edilən xüsusiyyətləri, düzəlişləri və dəyişiklikləri təsvir edərək əlaqələndirir.

Öhdəliklər, törədiləndə tam olaraq nələrin baş verdiyini təsvir edən standart bir quruluşa malikdir:

Adi öhdəliklərdən istifadə edərək öhdəliyi necə yarada bilərəm?

və ya terminalınızın qısa versiyasından istifadə edirsinizsə: git commit -a -m " [isteğe bağlı sahə]: "

Hər bir öhdəliyin əvvəlcədən müəyyən edilmiş bir kateqoriyaya aid bir növü var. Xüsusi kateqoriyalar bunlardır:

  • feat: kod bazasında yeni bir funksiya təqdim edir (bu, MINORin SemVer es: 2.0.0 -> 2.1.0 ilə əlaqələndirilir).
  • düzeltme: kod bazanızda bir səhv düzeltmesi (bu semVer es: 2.0.0 -> 2.0.1 bir PATCH ilə əlaqələndirilir).
  • DƏYİŞİK DƏYİŞİKLİK: kodunuzda tam bir dəyişiklikdir. Bu, bir əvvəlki gün SON DƏYİŞİKLİK: feat: istifadə olunmalıdır (bu, SemVer es-də bir BÖYÜK ilə əlaqəlidir: 2.0.0 -> 3.0.0).
  • sənədlər: README və ya sənədlərdə dəyişiklik
  • Refaktor: Yeniləmə kodunun oxunaqlılığı və tərzinə odaklanan istehsal kodundakı bir dəyişiklik

Kapsam dəyişdiklərinizi, tercihen tək bir sözlə göstərir. Təsvir, dəyişikliyin nə olduğunu göstərən bir sətirdir.

Jobtome'da gündəlik iş üçün chore :, test :, optimallaşdırma kimi digər növlərdən də istifadə edirik.

Avtomatik olaraq dəyişiklik tarixçənizi yaradın

Ənənəvi öhdəliklərin istifadə etdiyi vasitələrdən biri də standart versiyadır. Standart versiya, kodumuzun versiyasını avtomatik olaraq idarə edən və bizim üçün bir çox məlumatlarla gözəl dəyişiklik jurnalları yaradan bir npm paketidir.

Standart versiya paketindən istifadə etmək çox asandır. Bağımlılığımıza qurduqdan sonra (npm I --save-dev standart versiyası) sadəcə pack.json-a bir skript əlavə etməliyik

Standart versiyanı istifadə etmək üçün pack.json-da skript

İndi etməyimiz lazım olan şey, sərbəst buraxılmadan əvvəl buraxılış ssenarisini çalışdırmaqdır.

Varsayılan avtomatik versiyada, son nəşrdən bəri edilən öhdəlikləri nəzərdən keçirərkən aşağıdakı əməliyyatlar baş verir:

  • bir versiya yüksəltmək (MAJOR, MINOR, PATCH)
  • --Tags seçimini istifadə edərək yayımlana bilən bir git etiketi yaradın
  • belə bir xoş dəyişiklik dəyişikliyi yaradın:
CHANGELOG.md üçün yaradılan nümunə
  • Müvafiq öhdəliyə keçid
  • Versiyanın fərqinə keçid
  • Sabit tərif növünə görə bölgü

Yuxarıdakı ekran görüntüsünün dəyişiklik tarixçəsinə daha yaxşı baxmaq istəsəniz buradadır:

Məqaləni bəyəndinizsə, xahiş edirəm əl çalın və izləyin :) Thx və bizi izləyin