Git dla profesjonalistów. Wydanie 2 - ebook
Git dla profesjonalistów. Wydanie 2 - ebook
W wypadku pracy zespołowej efektywny system kontroli wersji jest warunkiem sukcesu. Powszechnie stosowanym w tym zakresie rozwiązaniem jest Git, który umożliwia zarządzanie wersjami projektu, przeglądanie wszystkich zmian, a także przywracanie pliku do dowolnej wcześniejszej wersji. Git jest dynamicznie rozwijanym oprogramowaniem. W ostatnich latach wzbogacił się o wiele przydatnych narzędzi, wyjątkowe stały się też możliwości jego konfiguracji i dostosowania. Wciąż jednak pełne wykorzystanie potencjału Gita wymaga wprawy i dobrej znajomości specyfiki pracy tego narzędzia.
To drugie, zaktualizowane i uzupełnione wydanie popularnego podręcznika opracowanego przez specjalistów dla profesjonalistów. Dowiesz się z niego, czym jest rozproszona kontrola wersji i jakie daje korzyści. Poznasz poszczególne funkcjonalności Gita i nauczysz się je rozbudowywać tak, aby zaspokajały nawet najbardziej wyrafinowane potrzeby. W książce znalazły się również wyczerpujące opisy funkcji dostępnych w Git 2.0, a także omówienie systemu usług GitHub i jego zalet. Istotną zmianą w nowym wydaniu podręcznika jest uwzględnienie w znaczącej większości prezentowanych przykładów protokołu HTTP w miejsce SSH - co stanowi odpowiedź na rosnącą popularność HTTP.
W książce między innymi:
- rodzaje systemów kontroli wersji i podstawy pracy z Gitem
- konfiguracja Gita i rozproszone metody pracy
- praca w zespole z systemem GitHub
- konflikty scalania i ich rozstrzyganie
- dostosowywanie Gita do szczególnych potrzeb
- Git i inne systemy, w tym Subversion, Mercurial i Perforce
GitHub: odkryj świat rozproszonej kontroli wersji!
Spis treści
O autorach
Przedmowa Scotta Chacona
Przedmowa Bena Strauba
Rozdział 1. Zaczynamy
- Systemy kontroli wersji
- Lokalne systemy kontroli wersji
- Scentralizowane systemy kontroli wersji
- Rozproszone systemy kontroli wersji
- Krótka historia Gita
- Podstawy Gita
- Migawki, a nie różnice
- Niemal każda operacja wykonywana jest lokalnie
- Git sprawdza spójność danych
- Git wyłącznie dopisuje dane
- Trzy stany
- Wiersz poleceń
- Instalowanie Gita
- Instalowanie w systemie Linux
- Instalowanie w systemie Mac
- Instalowanie w systemach Windows
- Pierwsze konfigurowanie Gita
- Tożsamość
- Edytor
- Sprawdzanie ustawień
- Szukanie pomocy
- Podsumowanie
Rozdział 2. Podstawy Gita
- Pobieranie repozytorium Gita
- Inicjowanie repozytorium w istniejącym katalogu
- Klonowanie istniejącego repozytorium
- Zapisywanie zmian w repozytorium
- Sprawdzanie stanu plików
- Śledzenie nowych plików
- Umieszczanie zmodyfikowanych plików w przechowalni
- Skrócona informacja o statusie
- Ignorowanie plików
- Przeglądanie zmian w przechowalni i poza nią
- Zatwierdzanie zmian
- Pomijanie obszaru przechowywania
- Usuwanie plików
- Przenoszenie plików
- Przeglądanie historii commitów
- Ograniczanie wielkości wydruku
- Cofanie zmian
- Usuwanie pliku z obszaru przechowywania
- Wycofywanie zmian w zmodyfikowanym pliku
- Praca ze zdalnymi repozytoriami
- Wyświetlanie listy repozytoriów
- Dodawanie zdalnego repozytorium
- Pobieranie i wypychanie zmian do zdalnych repozytoriów
- Wypychanie zmian do zdalnego repozytorium
- Sprawdzanie zdalnego serwera
- Usuwanie zdalnych serwerów i zmienianie ich nazw
- Używanie tagów
- Wypisywanie listy tagów
- Tworzenie tagów
- Tagi opisane
- Tagi lekkie
- Tworzenie tagów dla starszych commitów
- Publikowanie tagów
- Aliasy w Gicie
- Podsumowanie
Rozdział 3. Rozgałęzienia
- Rozgałęzienia w skrócie
- Tworzenie nowej gałęzi
- Przełączanie między gałęziami
- Podstawy rozgałęziania i złączania
- Podstawy rozgałęziania
- Podstawy złączania
- Proste konflikty w złączeniach
- Zarządzanie gałęziami
- Sposoby pracy z gałęziami
- Długie gałęzie
- Gałęzie tematyczne
- Zdalne gałęzie
- Wypychanie zmian
- Gałęzie śledzące
- Pobieranie danych
- Usuwanie zdalnych gałęzi
- Przebazowanie
- Podstawowe przebazowanie
- Bardziej interesujące przykłady przebazowania
- Niebezpieczeństwa związane z przebazowaniem
- Przebazowanie po przebazowaniu
- Przebazowanie a złączenie
- Podsumowanie
Rozdział 4. Git na serwerze
- Protokoły
- Protokół lokalny
- Protokoły HTTP
- Protokół SSH
- Protokół Git
- Przenoszenie Gita na serwer
- Umieszczanie czystego repozytorium na serwerze
- Małe konfiguracje
- Generowanie własnych publicznych kluczy SSH
- Konfigurowanie serwera
- Demon Gita
- Smart HTTP
- GitWeb
- GitLab
- Instalacja
- Administrowanie
- Użytkownicy
- Grupy
- Projekty
- Hooki
- Podstawowa obsługa
- Współpraca
- Opcje hostowania na zewnętrznych serwerach
- Podsumowanie
Rozdział 5. Rozproszony Git
- Rozproszone metody pracy
- Metoda scentralizowana
- Metoda z menedżerem integracji
- Metoda z dyktatorem i porucznikami
- Podsumowanie metod pracy
- Współpraca nad projektem
- Poradnik tworzenia commitów
- Mały, prywatny zespół
- Prywatny zespół zarządzany
- Projekt publiczny i kopia projektu
- Projekt publiczny i wiadomości e-mail
- Podsumowanie
- Opieka nad projektem
- Praca z gałęziami tematycznymi
- Nakładanie łatek otrzymanych w e-mailu
- Nakładanie łatki przy użyciu polecenia am
- Integrowanie otrzymanych prac
- Metody pracy z wielkimi złączeniami
- Metody pracy używające przebazowania i wybierania commitów
- Rerere
- Oznaczanie wydań
- Generowanie numeru kompilacji
- Przygotowanie wydania
- Polecenie shortlog
- Podsumowanie
Rozdział 6. GitHub
- Tworzenie i konfigurowanie konta
- Dostęp przy użyciu protokołu SSH
- Awatar
- Adresy e-mail
- Uwierzytelnianie dwuskładnikowe
- Praca nad projektem
- Tworzenie kopii projektów
- Praca z GitHubem
- Tworzenie żądania pobrania
- Iterowanie w żądaniu pobrania
- Zaawansowane żądania pobrania
- Składnia Markdown
- Składnia Flavored Markdown
- Opieka nad projektem
- Tworzenie nowego repozytorium
- Dodawanie współpracowników
- Zarządzanie żądaniami pobrania
- Powiadomienia i napomknięcia
- Pliki specjalne
- Administrowanie projektem
- Zarządzanie organizacją
- Podstawy organizacji
- Zespoły
- Protokoły dla audytów
- Stosowanie skryptów
- Hooki
- API serwisu GitHub
- Octokit
- Podsumowanie
Rozdział 7. Narzędzia Gita
- Wybieranie commitów
- Pojedynczy commit
- Skrócony skrót SHA-1
- Referencje gałęzi
- Skrócone nazwy w protokole referencji
- Referencje przodków
- Zakresy commitów
- Interaktywny obszar przechowywania
- Umieszczanie plików w przechowalni i wycofywanie ich
- Umieszczanie łatek w obszarze przechowywania
- Stos zmian i oczyszczanie
- Odkładanie prac na stosie
- Kreatywne używanie stosu
- Cofanie zmian pobranych ze stosu
- Tworzenie gałęzi ze stosu
- Czyszczenie katalogu roboczego
- Podpisywanie swoich prac
- Wprowadzenie do GPG
- Podpisywanie tagów
- Sprawdzanie tagów
- Podpisywanie commitów
- Wszyscy muszą używać podpisów
- Wyszukiwanie
- Narzędzie git grep
- Przeszukiwanie protokołu Gita
- Przeszukiwanie wierszy w protokole
- Modyfikowanie historii
- Modyfikowanie ostatniego commitu
- Zmienianie wielu komunikatów commitów
- Zmiana kolejności commitów
- Skracanie historii commitów
- Dzielenie commitu
- Rozwiązanie nuklearne: polecenie filter-branch
- Polecenie reset
- Trzy drzewa
- Sposób pracy
- Działanie operacji reset
- Polecenie reset ze ścieżką
- Łączenie commitów
- Polecenie checkout
- Podsumowanie
- Zaawansowane złączenia
- Konflikty przy złączeniach
- Przerywanie złączenia
- Ignorowanie znaków białych
- Ręczne ponowne złączenie pliku
- Kontrolowanie konfliktów
- Protokół złączenia
- Łączony format diff
- Cofanie złączenia
- Inne typy złączeń
- Funkcja rerere
- Debugowanie za pomocą Gita
- Opisywanie plików
- Szukanie binarne
- Podmoduły
- Rozpoczynanie pracy z podmodułami
- Klonowanie projektu z podmodułami
- Praca w projekcie z podmodułami
- Publikowanie zmian w podmodule
- Złączanie zmian w podmodule
- Wskazówki dotyczące podmodułów
- Łączenie
- Podmienianie
- Przechowywanie danych uwierzytelniających
- Jak to działa?
- Własna pamięć podręczna dla danych uwierzytelniających
- Podsumowanie
Rozdział 8. Dostosowywanie Gita
- Konfigurowanie Gita
- Podstawowa konfiguracja klienta
- Kolory w Gicie
- Zewnętrzne narzędzia do złączania i wypisywania różnic
- Formatowanie i znaki białe
- Konfiguracja serwera
- Atrybuty Gita
- Pliki binarne
- Rozwijanie słów kluczowych
- Eksportowanie repozytorium
- Strategie złączania
- Hooki
- Instalowanie hooka
- Hooki klienckie
- Hooki związane z zatwierdzaniem commitów
- Hooki związane ze stosowaniem e-maili
- Pozostałe hooki
- Hooki serwerowe
- Przykładowa reguła wymuszana przez Git
- Hook serwerowy
- Wymuszanie stosowania określonego formatu komunikatów commitów
- Kontrola dostępu za pomocą list ACL
- Testowanie
- Hooki klienckie
- Podsumowanie
Rozdział 9. Git i inne systemy
- Git jako klient
- Git i Subversion
- Git i Mercurial
- Git i Perforce
- Git i TFS
- Migracja do Gita
- Subversion
- Mercurial
- Perforce
- TFS
- Niestandardowy importer
- Podsumowanie
Rozdział 10. Wewnętrzne mechanizmy Gita
- Wewnętrzne i piękne
- Obiekty Gita
- Obiekty drzewa
- Obiekty commitów
- Przechowywanie obiektów
- Referencje
- Wskaźnik HEAD
- Tagi
- Zdalne repozytoria
- Pliki spakowane
- Specyfikacja referencji
- Wypychanie specyfikacji referencji
- Usuwanie referencji
- Protokoły transferu
- Protokół podstawowy
- Protokół rozbudowany
- Podsumowanie protokołów
- Konserwacja i odzyskiwanie danych
- Konserwowanie
- Odzyskiwanie danych
- Usuwanie obiektów
- Zmienne środowiskowe
- Zachowanie globalne
- Lokalizacje repozytorium
- Specyfikacje ścieżek
- Zatwierdzanie zmian
- Praca w sieci
- Złączanie i wyznaczanie różnic
- Debugowanie
- Zmienne różne
- Podsumowanie
Dodatek A. Git i inne środowiska
- Interfejsy graficzne
- gitk i git-gui
- GitHub dla systemów macOS i Windows
- Inne narzędzia graficzne
- Git w Visual Studio
- Git w Eclipse
- Git w powłoce Bash
- Git w powłoce Zsh
- Git w PowerShell
- Podsumowanie
Dodatek B. Git wbudowany w aplikacje
- Używanie Gita w wierszu poleceń
- Libgit2
- Zaawansowane funkcje
- Inne powiązania
- LibGit2Sharp
- Objective-Git
- Pygit2
- Więcej informacji
Dodatek C. Polecenia Gita
- Konfiguracja
- git config
- git help
- Pobieranie i tworzenie projektów
- git init
- git clone
- Tworzenie migawek
- git add
- git status
- git diff
- git difftool
- git commit
- git reset
- git rm
- git mv
- git clean
- Gałęzie i złączanie
- git branch
- git checkout
- git merge
- git mergetool
- git log
- git stash
- git tag
- Udostępnianie i aktualizowanie projektów
- git fetch
- git pull
- git push
- git remote
- git archive
- git submodule
- Kontrola i porównywanie
- git show
- git shortlog
- git describe
- Debugowanie
- git bisect
- git blame
- git grep
- Łatki
- git cherry-pick
- git rebase
- git revert
- E-mail
- git apply
- git am
- git format-patch
- git send-email
- git request-pull
- Zewnętrzne systemy
- git svn
- git fast-import
- Administrowanie
- git gc
- git fsck
- git reflog
- git filter-branch
- Polecenia wewnętrzne
Kategoria: | Programowanie |
Zabezpieczenie: |
Watermark
|
ISBN: | 978-83-283-8732-4 |
Rozmiar pliku: | 14 MB |