Деталі електронної книги

Git dla programistów. Efektywna kontrola wersji w projektach programistycznych

Git dla programistów. Efektywna kontrola wersji w projektach programistycznych

Jesse Liberty

Eлектронна книга

Kontrola wersji jest warunkiem sukcesu w każdym projekcie programistycznym. Im większy zespół i im bardziej złożony projekt, tym ważniejsze jest skuteczne zarządzanie wersjami. Do tych celów najczęściej używa się Gita. To popularne i dynamicznie rozwijane darmowe oprogramowanie. Zawiera wiele przydatnych narzędzi, pozwala też na wyrafinowaną konfigurację i dostosowanie do szczególnych potrzeb. Jeśli chcesz w pełni skorzystać z jego potencjału, musisz nabrać wprawy, pewności siebie i dobrze poznać poszczególne elementy Gita.

Oto opracowany z myślą o programistach praktyczny przewodnik, dzięki któremu szybko zaczniesz się posługiwać Gitem. Zawiera wszystkie informacje niezbędne do dogłębnego zrozumienia specyfiki tego narzędzia. Dowiesz się, w jaki sposób je zainstalować i skonfigurować, nauczysz się tworzyć i klonować repozytoria, a także zapoznasz się z narzędziami GUI Gita i zrozumiesz zasady pracy z gałęziami. Poznasz techniki rozwiązywania konfliktów scalania i korzystania z historii zmian. W książce omówiono polecenia potrzebne do zarządzania repozytorium, wyjaśniono też kwestie dotyczące bisekcji, polecenia blame i wielu innych narzędzi ułatwiających naprawianie błędów i rozwiązywanie typowych problemów.

Dzięki książce dowiesz się, jak:

  • zacząć pracę z Gitem
  • tworzyć repozytoria lokalne i zdalne
  • używać gałęzi, zarządzać nimi i scalać je do gałęzi głównej
  • rozwiązywać konflikty scalania
  • mieć pełną kontrolę nad wszystkimi informacjami w repozytorium
  • naprawiać błędy w Gicie

Kluczowym elementem każdego projektu programistycznego jest kontrola wersji!

Przedsłowie

O autorze

O recenzentach

Przedmowa

Rozdział 1. Wstęp

  • O tej książce
  • Kontrola wersji
  • Przykładowy kod
  • Rys historyczny
  • Narzędzia do pracy z Gitem
    • GitHub i inni
    • Narzędzia graficzne i wiersz poleceń
    • Wiersz poleceń
    • Upiększanie wiersza poleceń
    • Visual Studio 2019
    • Jak pobrać Visual Studio za darmo
    • GitHub Desktop
  • Instalacja Gita
    • Instalacja Gita - Windows
    • Instalacja Gita - Mac
    • Instalacja Gita - Linux
    • Sprawdzanie wersji
  • Konfiguracja Gita - wiersz poleceń
  • Konfiguracja Gita - Visual Studio
  • Podsumowanie

Rozdział 2. Tworzenie własnego repozytorium

  • Tworzenie własnego repozytorium
    • Tworzenie własnego repozytorium na GitHubie
    • Klonowanie - wiersz poleceń
    • Klonowanie - Visual Studio
    • Klonowanie - GitHub for Desktop
    • Tworzenie projektu
  • Git pull
  • Wyślę swoje, a ściągnę twoje
    • Pobieranie zmian w wierszu poleceń
    • Pobieranie zmian w GitHub Desktop
  • Rozpoczynanie w wierszu poleceń
    • Pobieranie zmian w GitHub Desktop
    • Pobieranie zmian w Visual Studio
  • Zatwierdzanie zmian - najlepsze praktyki
    • Jak często powinienem zatwierdzać zmiany?
    • Utrzymuj porządek w swojej historii zmian
    • Opisy zmian
    • Kiedy tytuł to za mało
  • Podsumowanie

Rozdział 3. Rozgałęzianie, lokalizacje i GUI

  • Pięć lokalizacji
    • Obszar roboczy
    • Indeks - poczekalnia
    • Pomijanie poczekalni
    • Visual Studio
    • GitHub Desktop
    • Repozytoria lokalne i zdalne
    • Schowek
  • Gałęzie
    • Programista 1 (wiersz poleceń) i kalkulator
    • Gałąź Book - Git w Visual Studio
    • Zatwierdzanie zmian w GitHub Desktop
    • Status
    • Dodawanie kolejnych zmian
    • Przeglądanie zmian
  • Podsumowanie
  • Wyzwanie
  • Rozwiązanie

Rozdział 4. Scalanie, zgłoszenia i obsługa konfliktów scalania

  • Scalanie - zarys
    • Książki
  • Co będę wysyłać?
    • Visual Studio
    • Szczegóły, szczególiki
  • GitHub Desktop
    • Wyślijmy to w końcu
    • Visual Studio
  • Konflikty scalania
    • Scalanie w wierszu poleceń
    • Przewijanie
    • Prawdziwe scalanie
  • Unikanie konfliktów
  • Podsumowanie
  • Wyzwanie
  • Rozwiązanie
    • Zadanie #1: stwórz nowe repozytorium i sklonuj je do dwóch różnych folderów
    • Zadanie #2: jedna osoba powinna dodać do głównej gałęzi zalążek UtilityKnife, zatwierdzić zmiany i je wysłać
    • Zadanie #3: każdy programista tworzy własną gałąź funkcji, po czym umieszcza wstępne zmiany na swoich gałęziach i zatwierdza je często (częściej, niż robiłby to normalnie)
    • Zadanie #4: scalaj główną gałąź z gałęzią funkcji często, aby mieć pewność, że jeśli pojawią się konflikty, to wyłapiesz je jak najwcześniej
    • Zadanie #5: John buduje konwerter temperatur. Pozwólmy mu "pożyczyć" kod kalkulatora. Sprawdźmy, czy nie ma konfliktów scalania

Rozdział 5. Zmiana bazy, nadpisywanie i selekcjonowanie

  • Zmiana bazy
    • Jak Git to robi
    • Spróbuj to zrozumieć
    • Zmieniaj bazę często
    • Zmieniaj bazę tylko lokalnie
    • Zmiana bazy w praktyce
    • Zmiana bazy w akcji
    • Konflikty
  • Nadpisywanie
  • Selekcjonowanie
    • Selekcjonowanie w Visual Studio
  • Podsumowanie
  • Wyzwanie
  • Rozwiązanie
    • Tworzenie nowego repozytorium na GitHubie
    • Tworzenie dwóch gałęzi dla zmyślonych programistów
    • Częste przebazowanie
    • Nadpisywanie commita w celu dodania pliku
    • Nadpisywanie commita w celu zmiany opisu
    • Wyselekcjonowanie jednego commita do gałęzi głównej

Rozdział 6. Interaktywna zmiana bazy

  • Interaktywna zmiana bazy w praktyce
    • Tworzenie przykładu
    • Sprzątanie commitów za pomocą interaktywnej zmiany bazy
  • Podsumowanie
  • Wyzwanie

Rozdział 7. Model pracy, notatki i tagi

  • Standardowy model pracy
  • Dublowanie repozytorium
    • Replikowanie istniejącego repozytorium
    • Dodawanie i wyświetlanie notatek
    • Tagi
  • Podsumowanie
  • Wyzwanie

Rozdział 8. Aliasy

  • Aliasy
  • Podsumowanie
  • Wyzwanie
  • Rozwiązanie

Rozdział 9. Korzystanie z historii zmian

  • Rozpoczęcie pracy z historią zmian
    • Program LogDemo
    • Visual Studio
    • GitHub Desktop
  • Historia zmian w wierszu poleceń
    • Które pliki były zmienione?
    • Co się zmieniło w każdym z plików?
    • Polecenie diff
    • Visual Studio
    • Co z biegiem czasu było zmieniane w tym pliku?
    • Wyszukiwanie
    • Gdzie są moje commity?
  • Podsumowanie
  • Wyzwanie
  • Rozwiązanie
    • Stwórz nowe repozytorium
    • Dodaj co najmniej 6 commitów
    • Znajdź nazwy wszystkich plików zmienionych w każdym z commitów
    • Znajdź zmiany, które z czasem pojawiły się w danym pliku
    • Znajdź wszystkie pliki, które zatwierdziłeś w ciągu ostatniej godziny (lub w dowolnym innym sensownym odstępie czasu)

Rozdział 10. Ważne polecenia Gita i metadane

  • Schowek
  • Czyszczenie
  • Metadane
  • Podsumowanie
  • Wyzwanie
  • Rozwiązanie

Rozdział 11. Na tropie popsutego commita: bisekcja i szukanie autorów zmian

  • Szukanie autorów zmian
  • Wyzwanie

Rozdział 12. Naprawianie błędów

  • Wprowadziłeś błędny opis commita
  • Zapomniałeś o dodaniu zmodyfikowanych plików do ostatniego commita
  • Masz kłopot z kolejnością commitów lub z ich opisami
  • Musisz wycofać zmiany z commita
  • Gałąź ma nieprawidłową nazwę
  • Zatwierdziłeś zmiany na niepoprawnej gałęzi
  • Popsułeś plik w poprzednim commicie
  • Wprowadziłeś mały zamęt w zdalnym repozytorium, wysyłając tam popsutą gałąź
  • Quiz
  • Odpowiedzi
    • Co powinieneś zrobić, jeśli nie dodałeś zmodyfikowanego pliku do ostatniego commita?
    • Co powinieneś zrobić, jeśli zatwierdziłeś zmiany na niewłaściwej gałęzi?
    • Co możesz zrobić, jeśli popsułeś plik w poprzednim commicie?
    • W jaki sposób możesz wycofać zmiany z wcześniejszego commita?
    • Jeśli uszkodziłeś gałąź main, wysyłając popsutą gałąź lokalną, to jak możesz to naprawić?

Rozdział 13. Kolejne kroki

  • Назва: Git dla programistów. Efektywna kontrola wersji w projektach programistycznych
  • Автор: Jesse Liberty
  • Оригінальна назва: Git for Programmers: Master Git for effective implementation of version control for your programming projects
  • Переклад: Piotr Luboch
  • ISBN: 978-83-283-8915-1, 9788328389151
  • Дата видання: 2022-11-08
  • Формат: Eлектронна книга
  • Ідентифікатор видання: gitdla
  • Видавець: Helion