Git/Podstawy

Pojęcia[edytuj]
Git - koncepcje :
- Zdecentralizowane
- Każde repozytorium jest gałęzią
- Semantyczne
- Drzewo reprezentuje katalog
- Zatwierdzenie reprezentuje drzewo, poprzednie zatwierdzenie(a) i wiadomość
- tag jest aliasem dla commita
- Zatwierdzenie jest zaprojektowane z uwzględnieniem sum kontrolnych
- Zatwierdzenie może mieć kilkunastu przodków
- Reprezentuje scalenie dwóch linii rozwojowych
Projekt[edytuj]
repozytorium[edytuj]
- origin
- remote
"A remote is a short name (like an alias) used to refer to a specific git repository. Instead of always saying git fetch git://sitaramc/gitolite, you can add that as a remote and use that short name instead of the long URL. For convenience, a 'remote' called 'origin' is automatically created when you clone a repo, pointing to the repo you cloned from." [1]
Co zawiera repo ?
ls -al .git
lokalne ( ang. local)[edytuj]
Jak znaleźć lokalne repozytorium nbędąc w katalogu nadrzędnym :[2]
find ~ -type d -name .git
lub bez rozszerzenia ".git"
find ~ -type d -name .git | xargs -n 1 dirname
zdalne (ang. remote)[edytuj]
Jak znaleźć adres zdalenego repozytorium będąc w katalogu zawieraja cym localne repozytorium? [3]
git config --get remote.origin.url git remote get-url origin git remote show origin
Drzewo i jego gałęzie[edytuj]
Gałęzie służą do :
- testowania zmian bez naruszania głównego kodu
- testowania zmian niezależnie od siebie
Gałęzie możemy :
- łączyć ( ang. merge) z główną gałęzią
- dodawać
- usuwać
Gałąź master jest domyślną gałęzią w momencie tworzenia nowego repo.
Polecenia związane z gałęziami :
Tryb pracy[edytuj]
Git pracuje w trybie klient-serwer.
Użytkownicy[edytuj]
- administator/ właściciel głównego repozytorium
- administator/ właściciel sklonowanego repozytorium
- inny użytkownik
Lokalizacje[edytuj]

Mamy przynajmniej 2 lokalizacje :
- katalog projektu ( na twoim komputerze , ang. working directory)
- lokalne repozytorium projektu ( na komputerze , ang. local repository) znajdujące się wewnątrz katalogu projektu
Mogą wystąpić dodatkowe lokalizacje :
- zdalne repozytorium projektu ( ang. remote repository) np. na serwerze :
- GitHub [4]
- Gitourius
- kopie repozytoriom ( ang. the cloned repository )
Operacje[edytuj]
Operacje dzielimy na :
- lokalne ( na komputerze )
- zdalne ( na serwerze lub pomiędzy serwerem a komputerem lokalnym)
Sytuacje[edytuj]
Sytuacje zależą od typu :
- liczby użytkowników
- jeden
- więcej niż jeden = praca grupowa
- projektu / repozytorium / gałęzi
- operacji którą chcemy wykonać
najprostsza sytuacja[edytuj]
- 1 użytkownik
- 1 projekt
- 1 repozytorium ( lokalne)
- 1 gałąź
Ograniczenia[edytuj]
Git nie śledzi węzłów urządzeń (ang. device nodes) oraz zmian uidów i gidów.
Aby wyświetlić w katalogu roboczym pliki (np. węzły urządzeń), które nie będą śledzone, należy wykonać komendę:
find / ! -type f ! -type l ! -type d -ls