Git/Podstawy

Z Wikibooks, biblioteki wolnych podręczników.
< Git
Schemat działań Gita


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]

lokalizacje

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
  • 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

Odnośniki[edytuj]

  1. git concepts
  2. sixarm : git-how-to-find-git-repository-directories ?
  3. stackoverflow qestion : how-can-i-determine-the-url-that-a-local-git-repository-was-originally-cloned-fr
  4. GitHub