spielwiese/git/repo.md

1.8 KiB

Repository

Zwei Arten

Ein repo ist die Sammlung aller Projektdateien und deren Aenderungsgeschichten.
Es gibt davon zwei Arten: lokale und entfernte (remote).

lokale repos

Ein lokales repo ist erstmal nur ein Ordner auf dem eigenen Rechner der unter der Verwaltung von git steht. Wenn der Ordner .git (gilt als versteckt, durch den Punkt am Anfang bei Linux) vorhanden ist, verwaltet git den Ordner in dem .git liegt.

Das der Ordner von git verwaltet wird, kann zwei Ursachen haben. Entweder ist es ein clone von einem remote repo oder er wurde manuell unter die Obhut von git gestellt.

Will ich einen Ordner zu einem lokalen git repo machen, zb. meine Rezeptesammlung, wechsel ich in den Ordner mit der Dateisammlung und schreib git init. Nun ist der Ordner unter der "kontrolle" von git. Jetzt sollte git bekannt gemacht werden, welche Dateien zu dem "Rezeptesammlungs-repo" gehoeren. Dazu spaeter mehr. Meistens mache ich ein lokales repo, wenn ich weiss, das ich Dateien nicht auf mehreren Computern brauche. Oder mit anderen zusammenarbeite.

remote repos

Ein remote repo ist, sehr kurz gesagt, ein spezieller Ordner, von dem gecloned oder geforked werden kann.

Ein remote repo lege ich an, wenn ich mit mehreren zusammenarbeiten will. git init --bare in einem leeren Ordner und dieser ist bereit, gecloned oder geforked zu werden.

Das ist das, was github, gitlab oder schlomp.space machen, wenn man ein neues Repo anlegt.

Man kann das auch auf dem eigenen Rechner machen um dann in einen anderen Ordner (in dem man dann arbeitet) auf dem selben Rechner zu clonen. Oder sonstwas zu tun. Ich wuesste nicht was. Ich wollt nur sagen: "Alles was man macht, wenn man mit Servern interagiert, kann auch nur auf dem eigenen Rechner passieren". Das ist voll flexibel, daher wieder alles Einzelfallabhaengig.