Jak dodać nowe polecenie w shellu? Rozszerzamy możliwości Gita
Jak dodać nowe polecenie dla Gita? Z tego artykułu dowiesz się, jak możesz rozszerzać możliwości swojego środowiska operującego na repozytoriach Git.
KrokiWykonują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-scriptsNazwa 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 $PATHKaż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/ $PATHAby 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-scriptsPlik możemy utworzyć za pomocą polecenia:
~/projects/git-scripts > touch git-userNie podajemy rozszerzenia. Nazwa pliku będzie poleceniem.
4. Dodać uprawnienia do uruchamianiaTo 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-userAby sprawdzić, czy uprawnienia zostały zaktualizowane, wystarczy wylistować zawartość katalogu:
~/projects/git-scripts > ls -l -rwxr-xr-x 1 pkowalski staff 102B Jan 22 2021 git-userTrzy 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ść plikuKopiujemy 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 userA 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 userPojawia 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-scriptsNa 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!
Chcesz więcej? Sprawdź w oryginale!
Przejdź do artykułu