Kilka tygodni temu musiałem wykorzystać skrypt do inicjalizacja/aktualizacji projektu. Skrypt został napisany w PowerShell. Nie mam nic do PowerShell, nie korzystam z niego też za bardzo. Zawsze mam ten sam problem – jak to było? Po prostu nie pamiętam i tyle. Jakoś mi ten język po prostu nie wchodzi. Jednak jest on coraz bardziej popularny jak i dostępny na różnych platformach (pewnie po to by administratorzy Windows nie musieli uczyć się shell script). Daje on dużo i MS od lat w niego inwestuje do tego stopnia, że pewne rzeczy są już tylko i wyłącznie do zrobienia z pomocą PowerShell a nie ma już możliwości ich wyklinania – czy jakiejkolwiek innej interakcji.

Ale przy pracy przy projekcie stwierdziłem, że dam trochę PowerShell szansy i spróbuje go używać w trakcie trwania całego projektu. Jednak czegoś mi brakowało, git śmigał, wszystko śmigało. Tylko że nie działało tak jakbym chciał. I w którymś momencie złapałem się na tym, że chcę dokończyć komendę w git a uzupełnianie nie działa. Sprawdziłem pozostałe dwa miejsca w których z git korzystam i tam śmiga jak należy.

Wtedy odkryłem rozszerzenie do PowerShell posh-git. Posh-Git daje nam możliwość nie tylko dokańczania poleceń za pomocą tab ale do tego wiele innych dodatkowych pomniejszych features. Dla przykładu rozszerza on prompt o informacje na temat gałęzi na której jesteśmy, ile plików zmian, jak różni się aktualna gałąź od tego co jest już z commitowane.

Ogólnie masa fajnych usprawnień. Więc jeżeli lubicie PowerShell i chcecie do tego wykorzystywać Git to naprawdę POLECAM. U mnie się to idealnie sprawiło. Nie zauważałem też by coś wolniej działało (znacząco):

posh-git w akcji
posh-git w akcji

Najlepsze jest to, że wszystko to da się skonfigurować. W pliku Microsoft.PowerShell_profile.ps1 znajdującym się w katalogu C:\Users\{USER_NAME}\Documents\WindowsPowerShell\ po odpaleniu Posh-Git zajdziecie info gdzie szukać pliku profilowego dla ustawień posh-git (katalog z którego został posh-git zainstalowany) – profile.example.ps1

Tam już róbta co chceta :)

W przeciwnym wypadku jak korzystasz z git w PowerShell to tracisz, bardzo dużo tracisz. Lepiej by było gdybyś z niego tam nie korzystał ;)

9 KOMENTARZE

  1. posh-git jest super. Niestety znalazlem jedna wade. Otoz nie da sie wykonac komendy “git log -L10,15:path/to/file.txt”. PowerShell odpowiada At line:1 char:13 + git log -L10,15:src. Nie lubi przecinka…. ;/

  2. Jak git i powershell to też tylko z posh-gitem :)
    Sam korzystałem dosyć długo, bo chciałem właśnie bardziej oswoić się z powershell i myślałem, że jakoś bardziej to pomoże/zmobilizuje mnie (ale i tak używałem powershella jedynie do gita).
    Ostatnio przerzuciłem się na cmdera i z niego korzystam – jak na razie jest całkiem fajnie (normalnego cmd już nie odpalam).

    • @Krzyrok

      A no, uwielbiam cmder a dokładniej ConEmu na którym cmder bazuje. Ale no… czasami ten PowerShell się trafia ;) Jakbym miał tak jak ty korzystać z PowerShell tylko po to by mieć git… oj nie :) dziękuję ;)

  3. Przy moim repo niestety poshgit wymięka… musiałem sie przerzucić na czystego PS (wraz z ConEmu + QuakeMode) i jest git.

    • @Pwas

      Ooo dużo repo miałeś? czy coś innego siadało – jak to śledzenie zmian?

      Ogólnie Windowsy mają problemy podobno przy dużych repo. Znajomy z tego powodu przerzucił dev na Mac bo mu po prostu śmigało. Ale ja nie natrafiłem na taki problem jeszcze z moimi repo.

Comments are closed.