Narzędzia - system kontroli wersji Git i emulator konsoli cmder

Nieodzownymi elementami środowiska programistycznego są system kontroli wersji, umożliwiający zarządzanie zmianami w trakcie pisania kodu, oraz emulator konsoli, umożliwiający wykonywanie poleceń przy użyciu interfejsu linii komend (ang. command line interface, CLI). W tym artykule przedstawię system kontroli wersji Git oraz emulator konsoli dla Windows Cmder.

Jeżeli twój system operacyjny jest 64-bitowy (taka jest dzisiaj zdecydowana większość), a przy instalacji jakiegoś narzędzia będziesz mieć do wyboru wersję 32-bitową lub 64-bitową, to wybierz oprogramowanie 64-bitowe.

Git

Git to rozproszony system kontroli wersji, popularny między innymi dzięki dużej wydajności, prostej konstrukcji, czy też silnemu wsparciu dla modelu gałęziowego (ang. branching model). Git jest darmowy, a na jego upowszechnienie wpłynęła dostępność serwisów takich jak GitHub, BitBucket czy GitLab, które wspierają hosting projektów opartych o Git, w tym również za darmo.

Instalacja Git

Każdą dostępną wersję Git możesz pobrać ze strony projektu: https://git-scm.com/downloads. Git dla systemu operacyjnego Windows możesz pobrać bezpośrednio ze strony projektu dostarczającego wersję dla tego środowiska: https://gitforwindows.org. Instalacja nie powinna sprawić problemów, możesz podczas niej skorzystać z domyślnych ustawień.

Tip: Alternatywnie, Git for Windows możesz też pobrać wraz z emulatorem konsoli cmder, którego instalacja opisana jest w dalszej części artykułu.

Pierwszą rzeczą, którą powinieneś zrobić po instalacji Git, jest skonfigurowanie nazwy użytkownika oraz adresu email przy pomocy komendy git config. Dzięki temu zostaniesz automatycznie oznaczony jako autor wszystkich fragmentów kodu, które dodasz do swoich projektów (czyli mówiąc językiem Git commitów dodanych do repozytoriów). Aby zmienić te ustawienia, uruchom wiersz poleceń (wciśnij Win+R, wpisz cmd i potwierdź wciskając Enter), a następnie wykonaj najstępujące komendy:

git config --global user.name "Jan Nowak"
git config --global user.email [email protected]

Tip: Bardzo dobrym źródłem wiedzy na temat systemu Git jest książka “Pro Git”, dostępna za darmo na stronie projektu: https://git-scm.com/book/pl/v2. Warto o niej pamiętać podczas nauki.

Git Bash

Git for Windows dostarcza emulator Bash, który może być używany do uruchamiania komend Git z wiersza poleceń. Git Bash dostarcza również wiele komend systemu Unix.

Cmder

Cmder to przenośne i łatwe w użyciu narzędzie, które bazuje na popularnym ConEmu oraz Git for Windows. Zapewnia przyjazny w użyciu emulator konsoli, z dostępnymi bezpośrednio licznymi narzędziami Unix.

Instalacja Cmder

Cmder możesz pobrać ze strony projektu: http://cmder.net. Program jest dostarczany w postaci archiwum zip, które możesz rozpakować w wybranej przez siebie lokalizacji, a następnie uruchomić przy pomocy pliku Cmder.exe.

Tip: Jeżeli instalowałeś wcześniej Git for Windows, możesz pobrać wersję Cmder Mini, która zajmuje dużo mniej miejsca. Nie mniej, ja zawsze używam wersji pełnej.

cmder - Pierwsze kroki

Ustawienia

cmder, a w zasadzie ConEmu, możesz dostosować do swoich potrzeb. Możesz skonfigurować wiele elementów związanych z wyglądem i zachowaniem aplikacji. Warto poświęcić trochę czasu na zapoznanie się z możliwościami narzędzia i opcjami konfiguracyjnymi, aby ułatwić sobie pracę w przyszłości.

Ustawienia są dostępne z menu kontekstowego, dostępnego po kliknęciu prawym przyciskiem myszy w ikonkę aplikacji i wybraniu opcji Settings

Zadania (Tasks)

Jak wcześniej wspomniałem, cmder bazuje na ConEmu, dzięki czemu użytkownik zyskuje możliwości takie jak praca z wieloma oknami konsoli. W każdym z okien możesz uruchamiać zadania (Tasks), takie jak PowerShell, czy Git Bash. Możesz również dodawać swoje własne zadania (Settings | Tasks) oraz zmienić domyślne zadanie uruchamiane dla nowej konsoli oraz domyślne zadanie uruchamiane po starcie cmder. Ta ostatnia opcja jest szczególnie przydatna, jeżeli chcesz na przykład aby to Git Bash był domyślnym zadaniem.

Praca z wieloma oknami konsoli

Aby otworzyć nowe okno konsoli użyj skrótu Ctrl+T:

Konfigurując nowe okno możesz zdecydować, które zadanie ma zostać uruchomione, czy nowa konsola ma pojawić się w podzielonym oknie (New console split) oraz czy konsola powinna zostać uruchomiona z uprawnieniami administratora.

Aby zamknąć aktywną konsolę, użyj skrótu Ctrl+W.

Nawigacja między otwartymi konsolami możliwa jest z użyciem skrótu Ctrl+<num>, gdzie <num> to numer konsoli, do które chcesz się przełączyć.

Ciekawą funkcjonalnością ConEmu jest możliwość duplikowania aktywnej konsoli. Domyślnie do akcji duplikowania nie są przypisane żadne skróty klawiszowe, ale jeżeli chcesz używać tej funkcjonalności częściej, możesz samodzielnie przypisać skróty w ustawieniach.

Komendy

Pracując w konsoli możesz używać podstawowych komend systemu Unix (dostępnych dzięki Git Bash), takich jak na przykład ls, find, cd, cp, mv czy popularny tail.

Emulator posiada funkcję automatycznego podpowiadania (Tab), historię komend możesz przeglądać za pomocą strzałek góra i dół, a wyszukiwać w historii możesz za pomocą skrótu Ctrl+R.

Aliasy

Cmder wspiera komendę alias, dzięki której możesz tworzyć własne aliasy, czyli skrócone komendy, które zastępują te dłuższe i bardziej skomplikowane. Utworzenie aliasu:

alias ll=ls -al

Alias będzie dostepny również po ponownym uruchomieniu cmder.

Praca z tekstem

Zaznaczanie, kopiowanie i wklejanie tekstu w konsoli również jest bardzo wygodne.

Przydatne skróty klawiszowe:

  • Kopiowanie aktualnego zaznaczenia: Ctrl+C
  • Wklejanie tekstu: Shift+Insert (w tekście składającym się z wielu linii, znak nowej linii zostanie wysłany jako <Enter> do konsoli) , Ctrl+V lub prawy przycisk myszy
  • Przewijanie bufora: Ctrl+góra/dół lub Crtl+PgUp/PgDown

Możliwe jest również zaznacznie tekstu w konsoli z użyciem klawisza Shift oraz strzałek góra/dół, klawiszy PgUp/PgDown czy Home/End, ale wymaga to dodatkowej konfiguracji w ustawieniach (Keys & Macro | Mark/Copy).

Rafał Borowiec

Nazywam się Rafał Borowiec. Jestem w branży IT od ponad 10 lat, przygodę rozpoczynałem jako tester oprogramowania. Oprócz testowania oprogramowania i zapewniania jakości, specjalizuję się w wytwarzaniu oprogramowania oraz zarządzaniu projektami i zespołami. Chętnie dzielę się wiedzą, prowadzę blog dotyczący programowania, jestem wykładowcą oraz trenerem IT. Występuję również jako prelegent na wydarzeniach branżowych, dotyczących zarówno zapewnienia jakości, testowania, jak i programowania.