forked from Bunteshaus/spielwiese
git add explanations
This commit is contained in:
parent
524210a347
commit
a417c357ad
14
README.md
14
README.md
|
@ -35,19 +35,21 @@ Nun muss ich das noch in meinen Account auf dem Server hochladen und von da aus
|
||||||
|
|
||||||
## Begriffe (todo)
|
## Begriffe (todo)
|
||||||
|
|
||||||
- clone: Eine lokale Kopie eines repos.
|
- [repository (repo)](git/repo.md): Ein Container wo alles zum Projekt gehoerende drin ist. Kann lokal und remote sein.
|
||||||
- fork: Eine entfernte Kopie eines repos.
|
- [fork](git/fork.md): (M)Ein fork ist (M)Eine Kopie des originalen Repositorys. (idr ein clone vorgang auf dem Server.)
|
||||||
- branch: eine Abspaltung vom vorherigen Arbeitszweig
|
- [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.
|
- merge: Das Zusammenfuegen der commits von zwei Arbeitszweigen.
|
||||||
- commit: Zusammenschluss von Aenderungen unter einer Beschreibung.
|
- 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
|
## Erste Schritte
|
||||||
|
|
||||||
Das erste, was Du jetzt tun kannst ist, dieses repo zu forken. Als Hinweis: Ganz rechts oben sollte "Fork" stehen.
|
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]
|
![Screenshot 1][sc1]
|
||||||
|
|
||||||
[sc1]: https://schlomp.space/Bunteshaus/spielwiese/raw/branch/main/media/sc1.png
|
[sc1]: https://schlomp.space/Bunteshaus/spielwiese/raw/branch/main/media/sc1.png
|
||||||
|
|
15
git/clone.md
Normal file
15
git/clone.md
Normal 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
11
git/fork.md
Normal 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
6
git/pr.md
Normal 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
11
git/push.md
Normal 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
38
git/repo.md
Normal 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.
|
Loading…
Reference in New Issue
Block a user