spielwiese/git/repo.md

38 lines
1.8 KiB
Markdown
Raw Permalink Normal View History

2021-06-14 12:39:14 +02:00
# 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.