Dziś artykuł z cyklu “Narzędzia świata”, bo opisuję tylko jedno narzędzia, ale za to jakie! Narzędzie nazywa się hub i jest oficjalnym klientem do GitHuba, który “pięknie” się z nim integruje, dzięki czemu mamy świetny CLI.
Dla tych, którzy wolą oglądać, zamiast czytać zapraszam na film:
Mój problem
Moja praca developerska opera się na uruchomieniu 3 okien:
- IDE
- terminal
- przeglądarka
Jeśli chcę dokonać zmiany w IDE albo w terminalu to dokonuję tej czynności w sposób płynny (bez opóźnień). Natomiast przeglądanie stron internetowych czy korzystanie z narzędzi w oknie przeglądarki daj mi opóźnienia związane z warstwą sieciową np. pobieranie całej strony, na której chcę tylko kliknąć 1 malutki przycisk Create Pull Request.
Chciałbym mieć możliwość tworzenia Pull Request-ów z terminala - traktuję tę warstwę jako tzw. sterującą. Z tego miejsca zarządzam projektami, pobieram aktualizacje, czy sprawdzam hasło do Wi-Fi.
Chciałbym wykorzystać terminal do tego, aby stworzyć Pull Request. Okazuje się to możliwe, a nawet przyjemne!
Instalacja narzędzia “hub”
W README.md projektu znajdziesz instrukcję jak zainstalować ten soft. W moim przypadku wydałem następujące polecenie:
brew install hub
Tworzymy Pull Request w terminalu
Wykorzystując hub stwórzmy Pull Request:
Sposób 1
-
Tworzę feature-brancha
git feature test-hub
-
Tworzę dowolną rewizję (moim przypadku będzie pusta)
git commit -am 'Empty revision' --allow-empty
-
Publikuję branch na origin (w przeciwnym przypadku dostaniecie błąd Unprocessable Entity (HTTP 422))
git push origin feature/test-hub
-
Tworzę Pull Request definiując dla niego tytuł ⭐️
hub pull-request -m "Test PR created with hub"
Efekt wykonania powyższych poleceń dostępny jest tutaj https://github.com/piecioshka/webinar-testowanie-kodu/pull/2
Sposób 2 (dla mnie optymalny)
-
Tworzę feature-brancha
git feature test-hub-2
-
Tworzę dowolną rewizję (moim przypadku będzie pusta)
git commit -am 'Empty revision' --allow-empty
-
Tworzę Pull Request definiując dla niego tytuł ⭐️
hub pull-request -pm "Test PR created with hub"
- parametr
-m
pozwala na zdefiniowanie tytułu Pull Requestu - parametr
-p
publikuje lokalny branch na origin
- parametr
Efekt wykonania powyższych poleceń dostępny jest tutaj https://github.com/piecioshka/webinar-testowanie-kodu/pull/3
Sposób 3
-
Tworzę feature-brancha
git feature test-hub-3
-
Tworzę dowolną rewizję (moim przypadku będzie pusta)
git commit -am 'Empty revision' --allow-empty
-
Tworzę Pull Request ⭐️
hub pull-request --no-edit -p
- parametr
-p
publikuje lokalny branch na origin - parametr
--no-edit
kopiuje commit message z pierwszej rewizji i traktuje jako tytuł Pull Requestu
- parametr
Efekt wykonania powyższych poleceń dostępny jest tutaj https://github.com/piecioshka/webinar-testowanie-kodu/pull/4
Feedback
Dajcie znać, jak Wam się korzysta z hub. Czy przyspieszył on Wasz workflow?