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