Jak dodać własne polecenie dla Gita? Z tego artykułu dowiesz się, jak możesz rozszerzać możliwości swojego środowiska operującego na repozytoriach Git.
Kroki
Wykonując podane niżej kroki, dodacie nowe polecenie, którego będziecie mogli używać w każdym repozytorium, i nie tylko! Polecanie Gita możemy używać przecież w katalogach, które nie przechowują repozytorium.
1. Stworzyć katalog dla swoich skryptów
mkdir ~/projects/git-scripts
Nazwa git-scripts
jest popularną nazwą, zawierają pliki wykonywalne, które to związane są ze światem repozytorium Git.
2. Dodać nową ścieżkę do zmiennej środowiskowej $PATH
Każdy shell bazuje na zmiennych środowiskowych. To one zawierają kluczowe informacje dla działania shella.
Wystarczy, że uruchomicie w terminalu polecenie env
, a zobaczycie obecną listę zmiennych środowiskowych używanych w obecnym procesie uruchomionego shella.
Zmienne środowiskowe dostępne są w skryptach uruchomionych w shellu.
Jak rozszerzyć zmienną PATH?
-
Dla Basha
Otwórzcie plik
~/.bash_profile
dopisując:export PATH="$HOME/projects/git-scripts/:$PATH"
-
Dla Fisha
Otwórzcie plik
~/.config/fish/config.sh
dopisując:set -gx PATH $HOME/projects/git-scripts/ $PATH
Aby zmiana została “zaaplikowana” należy uruchomić nowego shella. Najszybciej to można wykonać, uruchamiając nową zakładkę w terminalu.
3. Stworzyć plik git-user
w katalogu git-scripts
Plik możemy utworzyć za pomocą polecenia:
~/projects/git-scripts > touch git-user
Nie podajemy rozszerzenia. Nazwa pliku będzie poleceniem.
4. Dodać uprawnienia do uruchamiania
To najważniejszy punkt, ponieważ bardzo często o nim się zapomina. Dzięki temu, że plik będzie miał uprawnienia do uruchomienia, będzie mógł być uruchamiany w terminalu jak każde inne polecenie.
Jak nadać uprawnienia do uruchomienia?
~/projects/git-scripts > chmod +x git-user
Aby sprawdzić, czy uprawnienia zostały zaktualizowane, wystarczy wylistować zawartość katalogu:
~/projects/git-scripts > ls -l
-rwxr-xr-x 1 piecioshka staff 102B Jan 22 2021 git-user
Trzy x
oznaczają, że każdy będzie miał możliwość uruchomić ten plik.
Więcej na temat uprawnień do pliku https://pl.wikipedia.org/wiki/Chmod
5. Uzupełnić zawartość pliku
Kopiujemy poniższy listing i wklejamy do pliku ~/projects/git-scripts/git-user
:
#!/usr/bin/env bash
name=`git config user.name`
email=`git config user.email`
echo "$name <$email>"
6. Uruchomić polecenie git user
A teraz najprzyjemniejsza i zarazem ostatnia część — uruchomienie!
Plik możemy uruchomić na kilka sposobów!
-
…ze ścieżką do pliku:
~/projects/git-scripts > ./git-user
-
…po nazwie pliku, będąc w dowolnym miejscu:
~/tmp > git-user
-
…jako polecenie Git:
~/ > git user
Pojawia się pytania, jak to się stało, że nasze uruchomione polecenie posiada spację i działa? Przecież nazwa pliku takiej spacji nie posiadała!
Git potraktuje polecenie jako “swoje”, tj. będzie można je uruchamiać ze spacją, czyli będzie “pod poleceniem” (eng. subcommand) — wystarczy, że nazwa pliku będzie rozpoczynała się od prefixu git-
.
Każde z powyższych poleceń powinno wyświetlić w terminalu:
Piotr Kowalski <[email protected]>
(btw. nie jest to mój prawdziwy mail)
Moje git-scripts
Na zakończenie zachęcam Was do sprawdzenia mojego repozytorium ze skryptami pomagającymi mi w pracy z repozytoriami Git:
https://github.com/piecioshka/git-scripts
Najfajniejsze moim zdaniem jest polecenie git-bars
, które to wyświetla statystyki dla danego użytkownika w konkretnym repozytorium jako bar chart!
A tak się prezentują statystyki dla mojego użytkownika w repozytorium tego bloga:
~/projects/blog > git bars "Piotr Kowalski" 2021
30 commits
2021-04 8 ■■■■■■■■
2021-05 5 ■■■■■
2021-07 5 ■■■■■
2021-08 6 ■■■■■■
2021-10 3 ■■■
2021-11 2 ■■
2021-12 1 ■
Zachęcam Was do tworzenia własnych projektów typu git-scripts
i wrzucania do komentarzy pod tym artykułem!