git add explanations

This commit is contained in:
teldra 2021-06-14 12:39:14 +02:00
parent 524210a347
commit a417c357ad
6 changed files with 89 additions and 6 deletions

View File

@ -35,19 +35,21 @@ Nun muss ich das noch in meinen Account auf dem Server hochladen und von da aus
## Begriffe (todo)
- clone: Eine lokale Kopie eines repos.
- fork: Eine entfernte Kopie eines repos.
- branch: eine Abspaltung vom vorherigen Arbeitszweig
- [repository (repo)](git/repo.md): Ein Container wo alles zum Projekt gehoerende drin ist. Kann lokal und remote sein.
- [fork](git/fork.md): (M)Ein fork ist (M)Eine Kopie des originalen Repositorys. (idr ein clone vorgang auf dem Server.)
- [clone](git/clone.md): Ist der Vorgang, ein repo zu kopieren. (idr benutzt um ein repo auf den eigenen Pc zu kopieren)
- [pushen](git/push.md): das hochladen eines branches zum repo, von dem geklont wurde.
- [pull-request (pr)](git/pr.md): Das Anbieten von Aenderungen am Material.
- branch: Ein Arbeitszweig in einem repo. Ein Arbeitszweig ist der Name der Versionsgeschichte der Dateien im repo.
- merge: Das Zusammenfuegen der commits von zwei Arbeitszweigen.
- commit: Zusammenschluss von Aenderungen unter einer Beschreibung.
- pushen: das hochladen eines branches zum repo, von dem geklont wurde.
- pull-request (pr): Das Anbieten von Aenderungen am Material.
- repository (repo): Ein Container wo alles zum Projekt gehoerende drin ist. Kann lokal und remote sein.
## Erste Schritte
Das erste, was Du jetzt tun kannst ist, dieses repo zu forken. Als Hinweis: Ganz rechts oben sollte "Fork" stehen.
Damit wird eine Kopie dieses Repositorys in deinem Account angelegt. Deine Kopie wird bei Aenderungen in diesem Original nicht geupdated, das muss manuell passieren. Dazu spaeter mehr.
![Screenshot 1][sc1]
[sc1]: https://schlomp.space/Bunteshaus/spielwiese/raw/branch/main/media/sc1.png

15
git/clone.md Normal file
View File

@ -0,0 +1,15 @@
# clone
Das bezeichnet allgemein den Vorgang des kopierens bei git.
Wen ich ein repo zb. bei github forke, passiert da intern ein cloning.
Wenn ich meinen fork eines repos auf meinem Rechner haben will, clone ich den.
Ich kann auch das original repo direkt clonen (das erschwert aber
Mitarbeit am Projekt. Hab da aber keine wirkliche Idee, warum man das machen sollte)
`git clone https://schlomp.space/teldra/spielwiese` wuerde ich ausfuehren,
was dazu fuehrt, das ein neuer Ordner, im aktuellen Ordner, existiert, mit dem Namen des repos,
also "spielwiese". Damit haette ich meinen fork der spielwiese auf meinem Rechner.

11
git/fork.md Normal file
View File

@ -0,0 +1,11 @@
# Fork
Ein fork ist eine Abspaltung vom originalen repo.
Ich kann entweder meine eigenen oder oeffentliche repos von anderen Leuten forken.
Ich kann so einen fork vornehmen, weil ich eine komplett eigene Vision des originalen
Projektes entwickeln will aber auch um mit dem originalen Projekt zusammen zu arbeiten.
Praktisch bedeutet das eigentlich erstmal "nur", das eine Kopie der aktuellen Version des zu
forkenden repos im eigenen Account angelegt wird. Damit habe ich das entsprechende repo
als eigenes repo in meinem Account.

6
git/pr.md Normal file
View File

@ -0,0 +1,6 @@
# pull reqeust
Ein pull request oder auch pull-request oder pr ist ein Vorschlag einer Aenderung an ein repo.
Wenn ich an einem Projekt mitarbeiten will, habe ich ja einen fork mit Aenderungen.
Dann mache ich einen pull-request, um so die Aenderung dem Originalprojekt vorzuschlagen.

11
git/push.md Normal file
View File

@ -0,0 +1,11 @@
# push
Mit pushen bezeichnet man das hochladen von Aenderungen.
Es kann ueberall wo schreibrechte vorhanden sind und
die Historys aka logs der Dateien passen, hingepusht werden.
In der Regel pusht man aber nur zum eigenen repo (was ja auch ein fork sein kann).
`git push` pusht den aktuellen branch auf die quelle des clones.
pushen braucht es nicht bei lokalen repos.

38
git/repo.md Normal file
View File

@ -0,0 +1,38 @@
# 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.