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 znajdziecie 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?
Powiązane artykuły
- Jak dodać nowe polecenie w shellu? Rozszerzamy możliwości Gita
- Własna konfiguracja do TSLint
- Jak zmienić motyw strony za pomocą SCSS na przykładzie trybu ciemnego?
- Testy end-to-end w Continuous Integration
- Git: Używaj typu w Commit Message i zbuduj idealny changelog
- Jak zarządzać baterią w MacBooku? Battery Life Extender
- Jak zwiększyć ilość wolnego miejsca na dysku?
- Git: Jak usunąć rewizję?
- Dlaczego nie dodajemy do repozytorium Git katalogu node_modules?
- Hexo: Integracja z Google Analytics
- Hexo: Integracja z Disqus
- Jak zmienić domyślny wygląd bloga opartego na Hexo?
- Jak pokonałem Webpacka: Upgrade kilku wersji
- Jak założyć bloga korzystając z Hexo?
- Jak wykorzystać technikę "Man-in-the-middle" na własne potrzeby?
- Jak napisać 'Ź' w WebStorm na macOS?
- Jak usunąć zapytanie HTTP OPTIONS?
- Jak napisać testy end-to-end? Nightwatch.js & Chrome Headless?
- Jak zbudować licznik czasu?
- Jak zbudować widget prezentujący testimoniale?
- Angular: Jak zamockować dane do usługi HTTP?
- Jak wyświetlić liczbę osób lajkujących nasz fanpage?
- EOL w prostych słowach
- Jak przerobić stronę na Progressive Web App?
- Jak zbudować plik PDF na podstawie pliku tekstowego w formacie Markdown?
- Jak stworzyć swój szablon do Cleaver?
- Jak zacząć programować?
- Globalna konfiguracja Gita
- Jak podsłuchać iPhona?
- Jak założyć bloga korzystając z Jekyll?
- Narzędzia usprawniające prace z Git
- Divshot vs GitHub — jako hosting do projektów webowych
- Jak wyłączyć reklamy w systemie?
- Git — początki w najpopularniejszym systemie kontroli wersji
- CoffeeScript + Windows
- Jak stworzyć przyjazne linki w WordPress?