Kezdő útmutató a Git számára - Mi a változásnapló és hogyan lehet létrehozni

Tegyük fel, hogy Ön fejlesztő, és a Git programot használja egyik projektjéhez. Meg szeretné osztani a végrehajtott módosításokat a felhasználóival, de nem tudja, hogyan. Nos, akkor ez a cikk az Ön számára szól.

A sorozat utolsó részében megosztottam veled, hogyan írj egy jó elköteleződési üzenetet.

Áttekintést adtam a jó elkötelezettség megírásának előnyeiről, és megemlítettem a változásnapló létrehozásának lehetőségét.

Ebben a cikkben megtudhatja, mi a változásnapló, valamint annak létrehozásának két módja - egy egyszerű és egy kifinomult.

Mi a változásnapló?

A változásnapló egy fájl, amely időrendi sorrendben osztja meg a projektben végrehajtott módosításokat. Gyakran a dátummal ellátott verzió rendezi, amelyet a hozzáadott, továbbfejlesztett és eltávolított szolgáltatások listája követ.

Világszerte kétféle módon lehet megírni egy változásnaplót:

  • a szokásos módon: hozzon létre egy szöveges fájlt, és kezdje el felsorolni az összes változtatást egy adott dátummal
  • a fejlesztői választás (más néven a lusta opció): automatikusan hozza létre a változásnaplót az elkötelezett üzenetekből. Jó hírem van az Ön számára - ezt fogja megtanulni ebben a cikkben!
„A változásnapló a projektben végrehajtott összes jelentős változás naplója vagy nyilvántartása. A projekt gyakran webhely vagy szoftver projekt, és a változásnapló általában olyan változások nyilvántartását tartalmazza, mint például hibajavítások, új funkciók stb. ” - Wikipédia

Miért elengedhetetlen?

Azt hiszem, még most is felteszi magának a kérdést, hogy miért elengedhetetlen, és miért kellene időt szánnia a létrehozására.

A változásnapló egyfajta összesítés az összes változtatásról. Könnyen érthetőnek kell lennie mind a projektet használó felhasználók, mind a fejlesztők számára.

Egy olyan világban, ahol minden gyorsan fejlődik, a felhasználónak tudnia kell, hogy az általa használt webhely / szoftver változik-e. Lehet, hogy meglepődsz, de az emberek szívesen olvasnak blogbejegyzéseket vagy egy webhely frissítési oldalt.

Például egy fejlesztő számára, ha a projekt nagy, érdekes lehet tudni, hogyan fejlődik az a szoftver, amelyen dolgoznak.

Vagy ha nyílt forráskódú projekten dolgozik, akkor a "CHANGELOG.md" fájlt megtalálhatja a GitHub adattárban. Ennek a fájlnak a célja a közreműködők tájékoztatása a projekt legújabb frissítéseiről.

Hol találjuk őket?

A változásnaplók mindenhol vannak! Oké, gyakran különböző stílusuk és helyszínük van, de szó szerint minden projektben szerepelnek.

Készítettem egy rövid listát néhány helyről, ahol megtalálható a változásnapló.

  • Blogbejegyzés. Váltásnapló egy olyan cikk alatt érhető el, amely pontonként osztja meg az utolsó szolgáltatásokat.
  • "CHANGELOG.md" fájl a GitHub-tárban.
  • A Changelog rész a kedvenc webhelyén / szoftverében. Íme egy példa a TickTick feladatkezelő eszközzel.
  • Az Android és az IOS áruház „Újdonságok” részében.

Változásnapló automatikus generálása

Ebben a részben együtt fogjuk létrehozni az első változásnaplót.

A feladat elvégzésével meg fogja érteni, miért lehet hasznos bizonyos szabályok betartása mellett.

A kiváló és kifejezett elkötelezettséget nem kell módosítani, és közvetlenül hozzáadható a változásnaplóhoz.

Ha érdekel egy szükséges fájl előállítása személyre szabás vagy szépítés nélkül, akkor javaslom az első utat; különben a második jobb.

Megjegyzés : Egyes webhelyek, mint például a Keep A Changelog, elmagyarázzák, hogy csak a git-elkötelezettségek másolásával és beillesztésével kell változtatási naplót készíteni (lásd az egyszerű módot). Valójában azt javaslom, hogy próbáljon meg ilyen módon elkerülni, ha professzionális terméken dolgozik.

Manapság azonban vannak olyan fejlett generátorok, amelyek lehetővé teszik, hogy a git naplóidat váltási naplókká változtassd (lásd a kifinomult módot).

Hogyan hozhatunk létre változáslistát (az egyszerű módszer)

Az első út használatával nincs szükség előfeltételekre. Csak annyit kell tennie, hogy beírjon néhány parancsot a Git-tárba.

Egyszerű emlékeztetőként: amikor beírja a "git log" szót, megjelenik az összes elkötelezettségének listája.

$ git log // Output commit f6986f8e52c1f889c8649ec75c5abac003102999 (HEAD -> master, origin/master, origin/HEAD) Author: Sam Katakouzinos  Date: Tue Mar 10 11:41:18 2020 +1100 docs(developers): commit message format typo Any line of the commit message cannot be longer *than* 100 characters! Closes #17006 commit ff963de73ab8913bce27a1e75ac01f53e8ece1d9 Author: Chives  Date: Thu Feb 6 19:05:57 2020 -0500 docs($aria): get the docs working for the service Closes #16945 commit 2b28c540ad7ebf4a9c3a6f108a9cb5b673d3712d Author: comet  Date: Mon Jan 27 19:49:55 2020 -0600 docs(*): fix spelling errors Closes #16942

Ez a parancs néhány paramétert vehet igénybe. Fel fogjuk használni őket a kimenet megváltoztatására és egy jobb fejlesztésére, hogy létrehozzuk a változásnaplónkat.

A következő parancs beírásával kimenete lesz, soronként egy elkötelezettséggel.

$ git log --oneline --decorate // Output f6986f8e5 (HEAD -> master, origin/master, origin/HEAD) docs(developers): commit message format typo ff963de73 docs($aria): get the docs working for the service 2b28c540a docs(*): fix spelling errors 68701efb9 chore(*): fix serving of URI-encoded files on code.angularjs.org c8a6e8450 chore(package): fix scripts for latest Node 10.x on Windows 0cd592f49 docs(angular.errorHandlingConfig): fix typo (wether --> whether) a4daf1f76 docs(angular.copy): fix `getter`/`setter` formatting be6a6d80e chore(*): update copyright year to 2020 36f17c926 docs: add mention to changelog ff5f782b2 docs: add mention to changelog 27460db1d docs: release notes for 1.7.9 add78e620 fix(angular.merge): do not merge __proto__ property

Jobb, de nézzük meg, mit tehetünk a következővel.

$ git log --pretty=”%s” // Output docs(developers): commit message format typo docs($aria): get the docs working for the service docs(*): fix spelling errors chore(*): fix serving of URI-encoded files on code.angularjs.org chore(package): fix scripts for latest Node 10.x on Windows docs(angular.errorHandlingConfig): fix typo (wether --> whether) docs(angular.copy): fix `getter`/`setter` formatting chore(*): update copyright year to 2020 docs: add mention to changelog docs: add mention to changelog docs: release notes for 1.7.9 fix(angular.merge): do not merge __proto__ property

Ezzel kinyomtathatja a kívánt stílusú vállalások listáját.

A „% s” megegyezik a kötelezettség címével. Módosíthatja a karakterláncot úgy, hogy tetszés szerint stílusozza az elkötelezettséget.

Esetünkben listát akarunk létrehozni.

$ git log --pretty="- %s" // Output - docs(developers): commit message format typo - docs($aria): get the docs working for the service - docs(*): fix spelling errors - chore(*): fix serving of URI-encoded files on code.angularjs.org - chore(package): fix scripts for latest Node 10.x on Windows - docs(angular.errorHandlingConfig): fix typo (wether --> whether) - docs(angular.copy): fix `getter`/`setter` formatting - chore(*): update copyright year to 2020 - docs: add mention to changelog - docs: add mention to changelog - docs: release notes for 1.7.9 - fix(angular.merge): do not merge __proto__ property

Megcsináltad! Létrehozott egy egyszerű változásnaplót.

Megjegyzés : Ha tovább szeretne menni, és gyorsabban mentené a változásnaplót: az eredmény fájlba másolása és beillesztése helyett a „git log --pretty =" -% s "> CHANGELOG.md” beírásával irányítsa át a terminálra.

Hogyan hozhatunk létre változáslistát (kifinomult módon)

Előfeltételek

Most egy kifinomult módszert fogunk felfedezni a változásnapló létrehozására. A folyamat ötlete ugyanaz marad, de ezúttal más eszközöket fogunk használni a segítségünkre.

Emlékszel, amikor e sorozat utolsó részében a Git irányelvekről írtam?

Megjegyzés : A Git irányelvek olyan szabályok, amelyekkel jobban megírhatja a vállalásait. Ezek az irányelvek segítenek valamilyen struktúrát hozzáadni a vállalásokhoz.

Amikor iránymutatást használ a projektjéhez, eszközökkel létrehozhat egy változásnaplót. Legtöbbször ezek az eszközök jobbak, mert lehetővé teszik egy jelölés formázott változásnapló létrehozását.

Ebben a példában egy egyszerű generátort fogunk használni, amely a legtöbb irányelvnek megfelel. A neve „generál-váltónapló”, és elérhető az NPM-en (a Csomópont Csomagkezelő).

Ez az eszköz stilizált változásnaplót fog létrehozni, de nem ez rendelkezik a legtöbb funkcióval. Úgy döntöttem, hogy használom, mert kiváló példa egy kezdő számára. Ha tovább szeretne lépni, kérjük, olvassa el az alábbi változásmódosító eszközök listáját:

Íme néhány használható eszköz:

  • Github Changelog Generator
  • Git Chglog
  • Auto Changelog
  • Hagyományos változásnapló
Megjegyzés: Az eszköz telepítése előtt telepítenie kell az NPM-et a számítógépére. Ha még nincs, akkor kérem, hogy kövesse a hivatalos webhelyet (ez segít a Node és az NPM telepítésében).

A csomag számítógépre történő telepítéséhez írja be a következő parancsot a terminálba.

$ npm install generate-changelog -g 

Miután ezt megtette, telepítve van!

Hogyan kell használni

Ahhoz, hogy ez a csomag működőképes legyen, be kell tartania a minta használatára vonatkozó irányelveket - „típus (kategória): leírás [zászlók]”. Ebben a példában az Angular.js GitHub adattárat fogom használni.

Most beírhatja a generációs parancsot a termináljába a GitHub-tárházba.

$ changelog generate

A „CHANGELOG.md” fájl automatikusan létrejön, és a naplókkal megjelölési formátumban kerül kitöltésre.

Az alábbiakban talál egy példát a kimenetre (jelölőolvasóval, például GitHub).

Következtetés

Remélem, tetszett ez az útmutató, és most már megértette, hogyan hozhat létre változási naplót a projektjéhez. Úgy gondolom, hogy ez egy jó módszer annak bemutatására, miért kellene jó elkötelező üzeneteket írni.

Próbálja ki más changelog generátorokat, és küldje el nekem az eredményt!

Ha bármilyen kérdése vagy visszajelzése van, kérem, tudassa velem.

Ne hagyja ki a tartalmaimat, ha követ a Twitteren és az Instagramon.

You can find other articles like this on my website: herewecode.io.

Want more?

  • Each week get a motivational quote with some advice, a short tutorial in a few slides, and one developer's picture on Instagram.
  • Sign-up for the newsletter and get the latest articles, courses, tutorials, tips, books, motivation, and other exclusive content.