Nowy rok, nowy ja. Trochę bloga zaniedbałem, więc uroczyście postanawiam, pisać tu częściej. Odbije się to na wpisach, będą zapewne krótsze, bardziej lapidarne, ale i bardziej konkretne. Dzisiejszy, na dobry początek będzie o gitmoji.
Tytułem wprowadzenia – kontrola wersji według mojej skromnej osoby
Ogromną większość projektów prowadzę sam. Ma to swoje plusy – np. prowadzę po swojemu kontrolę wersji. Ma to też swoje minusy – nie mam od kogo nauczyć się skutecznego wersjonowania kodu. Przeczytałem kilka artykułów na temat gita i wypracowałem sobie kilka zasad
- Branch master (wg obecnych trendów w nazewnictwie powinien być to main) jest najbliżej tego co się znajduje na produkcji. W świecie idealnym byłoby to 1:1, ale przychodzi niestety życie i są drobne poprawki, którymi te wersje mogą się różnić.
- Tag production to jest dokładnie to, co jest na serwerze produkcyjnym
- Do wprowadzania zmian tworzę nowe gałęzie
- Commituję często, staram się dobrze opisać zmianę
- Prowadzę semantyczne wersjonowanie za pomocą tagów (przy projektach o pojedynczym zastosowaniu tylko tak mniej więcej)
- Niezależnie od okoliczności, nie łączę i nie pozbywam się starych commitów.
Używam różnych edytorów. Jeżeli zmiana jest niewielka, może to być Sublime Text, jeżeli grzebię na serwerze, może to być vim przez ssh. Natomiast w przypadkach gdy dłużej rozwijam dany temat, to jest to pełne IDE – PHPStorm. Gita zaś obsługuję praktycznie wyłącznie z linii komend.
Niech stanie się kolor
Spodobało mi się gitmoji – oznaczanie ikonką commita (np. 🔒 lub 🐛 mówią same za siebie) pozwala na szybkie zorientowanie się w jego naturze. Jest też fajnie obsługiwane przez githuba i bitbucket. Przyzwyczaiłem się do wpisywania gitmoji normalnie z klawiatury (np. :bug:
), ale najbardziej brakowało mi ich podglądu, np. w logu. Instalacja w windows 10 składa się z kilku kroków
1. NodeJS
Zakładam, że już jest w systemie, bo przydaje się do wielu rzeczy. Jeżeli nie, to pobierz.
2. gitmoji
$ npm i -g gitmoji-cli
Uzyskujemy dzięki temu bibliotekę gitmoji i dostęp do konsolowego narzędzia ułatwiającego commity:
gitmoji commit
Niestety windows nie pozwalał mi go uruchomić w teminalu (pewnie dlatego, że korzystam z PowerShella), więc trzeba go do tego nakłonić.
3. Uprawnienia do uruchamiania skryptów
Jeżeli po wpisaniu gitmoji otrzymujesz błąd uprawnień, uruchom PowerShell jako administrator i wykonaj w nim polecenie:
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned
4. gitmoji-log
To narzędzie, które zmienia domyślny log gita, pomaga wyświetlać polskie znaki w opisach commita (brak, bo piszę po angielsku) i w nazwie autora (tu nie uniknąłem) oraz wyświetla gitmoji zamiast ich opisu. Instalacja jest prosta
npm i -g gitmoji-log
git config --global --add pager.log 'gitmoji-log | less --tabs=4 -rFX'
Repozytorium gitmoji-log nie jest rozwijane od dawna, ale wszystko działa jak należy.
Bonus na koniec – gdy mam problem z gitem
Szukam rozwiązań. Pod ręką zawsze mam Oh Shit Git i polecam to każdemu. To nie jest reflink, nic z tego nie mam, po prostu uważam, że warto.
Leave a Reply