Skip to content

Commit 12f6601

Browse files
initial
0 parents  commit 12f6601

File tree

2 files changed

+291
-0
lines changed

2 files changed

+291
-0
lines changed

LICENSE

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
MIT License
2+
3+
Copyright (c) 2023-present Mario Laurich
4+
5+
Permission is hereby granted, free of charge, to any person obtaining a copy
6+
of this software and associated documentation files (the "Software"), to deal
7+
in the Software without restriction, including without limitation the rights
8+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9+
copies of the Software, and to permit persons to whom the Software is
10+
furnished to do so, subject to the following conditions:
11+
12+
The above copyright notice and this permission notice shall be included in all
13+
copies or substantial portions of the Software.
14+
15+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21+
SOFTWARE.

README.md

Lines changed: 270 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,270 @@
1+
# Git in der Shell // Befehle und Workflow
2+
3+
## git init
4+
5+
Initialisieren eines neuen Git Repository’s
6+
7+
## git status
8+
9+
Prüft den Zustand aller Projektdateien
10+
11+
```json
12+
git status // Gibt den Zustand aller Dateien zurück
13+
git status -s // Kompaktere Auflistung
14+
```
15+
16+
## git add
17+
18+
Fügt Dateien zum Staging hinzu, welche für den nächsten Commit vorgesehen werden.
19+
20+
```json
21+
git add <Datei> // Setzt eine einzelne Datei auf Staging
22+
git add . // Setzt den aktuellen Zustand aller Dateien auf Staging
23+
24+
git add --patch <Datei> // Einzelne Hunks auswählen
25+
```
26+
27+
## git commit
28+
29+
Erstellt eine neue Version aus den Dateien welche sich im Staging befinden
30+
31+
```json
32+
git commit -m "Nachricht" // Erstellt eine neue Version aus den Dateien im Staging
33+
git commit -am "Nachricht" // Überspringt Staging, Neue Dateien werden ignoriert
34+
```
35+
36+
---
37+
38+
## git log
39+
40+
Zeigt die letzten Commits an
41+
42+
```json
43+
git log // Zeigt die letzten Commits an
44+
git log -n 3 // Zeigt die letzten 3
45+
git log --graph // Commits mit Graphen
46+
git log --oneline --decorate --graph --all
47+
48+
git reflog // Zeigt alle Referenzen an
49+
```
50+
51+
## git diff
52+
53+
Zeigt alle Unterschiede an zwischen Workspace und Lokales Repository
54+
55+
```json
56+
git diff // Unterschiede anzeigen lassen
57+
git diff --staged // Für Dateien im Staging
58+
```
59+
60+
---
61+
62+
## git reset
63+
64+
Änderungen einer/mehreren Dateien und Commits Rückgängig machen
65+
66+
```json
67+
git reset // Holt alle Dateien aus Staging und behält alle Änderungen
68+
git reset <Datei> // gleiches, nur auf angegebene Datei
69+
```
70+
71+
## git restore
72+
73+
Änderungen einer Datei Rückgängig machen
74+
75+
```json
76+
git restore --staged <Datei> // Holt eine Datei aus Staging und behält alle Änderungen.
77+
git restore <Datei> // Setzt alle Änderungen einer Datei zurück
78+
79+
git restore --staged --patch <Datei> // Einzelne Hunks auswählen
80+
```
81+
82+
## Letzte Commit-Message ändern
83+
84+
```json
85+
git commit --amend
86+
// Anschließend öffnet sich dein normaler Editor und
87+
// du kannst eine neue Commit-Message eingeben
88+
```
89+
90+
## Eine Änderung dem letzten Commit hinzufügen
91+
92+
```json
93+
// Mach deine Änderung
94+
git add . // oder füge einzelne Dateien hinzu
95+
git commit --amend --no-edit
96+
// Jetzt enthält dein letzter Commit auch die neuen Änderungen!
97+
// WARNUNG: Niemals solltest du "--amend" bei einem
98+
// Commit verwenden, der schon gepusht wurde (es sei denn
99+
// du bist der einzige Entwickler in dem Repo)
100+
```
101+
102+
## Letzten Commit Rückgängig machen
103+
104+
```json
105+
git reset --soft HEAD~ // Macht den letzten Commit rückgängig, --> Staging
106+
git reset HEAD~ // letzter Commit Rückgangig, --> Workspace
107+
git reset --mixed HEAD~ // gleiches wie zuvor
108+
git reset --hard HEAD~ // Löscht alle Änderungen des letzten Commits
109+
```
110+
111+
## Älteren Commit Rückgängig machen
112+
113+
```json
114+
// Finde den betreffenden Commit
115+
git log
116+
// Verwende die Pfeiltasten um in der History zu scrollen
117+
// und kopiere dir den Hash des betreffenden Commits
118+
git revert [betreffender hash]
119+
// git erstellt einen neuen Commit, der den gewählten
120+
// Commit rückgängig macht. Du musst dafür noch eine
121+
// Commit-Message eingeben oder einfach abspeichern
122+
```
123+
124+
## Änderungen einer einzelnen Datei Rückgängig machen
125+
126+
```json
127+
// Finde den Hash eines Commits vor deinen Änderungen
128+
git log
129+
// Verwende die Pfeiltasten um in der History zu scrollen
130+
// und kopiere dir den entsprechenden Hash
131+
git checkout [gewählter hash] -- pfad/zur/datei
132+
// Die alte Version ist jetzt wiederhergestellt
133+
git commit -m "Änderungen an Datei XY Rückgängig gemacht"
134+
```
135+
136+
## Etwas komplett verkackt?
137+
138+
Damit kannst du Dateien zurückholen, die du gelöscht hast, oder Dinge rückgängig machen, die dein Repo zerstört haben, oder einen nicht geglückten Merge oder einfach zu einem Stand zurückkehren, als bestimmte Dinge noch funktioniert haben
139+
140+
```json
141+
git reflog
142+
// Du siehst eine Liste mit allem, was du in
143+
// git getan hast, in allen Branches.
144+
// Jeder Eintrag hat einen Index: HEAD@{index}
145+
// Finde den Eintrag VOR demjenigen, der alles
146+
// kaputt gemacht hat
147+
git reset HEAD@{index}
148+
// Alles ist jetzt wieder wie es vorher war
149+
```
150+
151+
---
152+
153+
## git branch
154+
155+
Anzeigen, Erstellen und Löschen von Branches
156+
157+
```json
158+
git branch <Name> // Erstellt einen neuen Branch
159+
git branch -l // Listet alle Branches auf
160+
git branch -d <Name> // Branch löschen
161+
```
162+
163+
## git checkout
164+
165+
Erstellen und switchen von Branches
166+
167+
```json
168+
git checkout -b <Name> // Erstellen eines neuen Branches
169+
git checkout <Name> // Wechseln in den angegeben Branch
170+
```
171+
172+
## git merge
173+
174+
Führt mehrere Entwicklungsstände zusammen
175+
176+
```json
177+
git merge <Branch> // Merged angegeben Branch in den aktuellen hinein
178+
179+
```
180+
181+
## Ausversehen auf den master commited
182+
183+
```json
184+
// Erstelle einen neuen Branch mit dem Stand des master
185+
git branch neuer-branch-name
186+
// Entferne den letzten Commit vom master
187+
// und wechsel zum neuen Branch
188+
git reset HEAD~ --hard
189+
git checkout neuer-branch-name
190+
// Dein Commit lebt jetzt in dem neuen Branch weiter :)
191+
```
192+
193+
## Im falschen Branch commited
194+
195+
```json
196+
// Mach den letzten Commit rückgängig, aber erhalte die
197+
// Änderungen
198+
git reset HEAD~ --soft
199+
git stash
200+
// Navigiere zum richtigen Branch
201+
git checkout name-des-richtigen-branch
202+
git stash pop
203+
git add . // oder füge einzelne Dateien hinzu
204+
git commit -m "Deine Nachricht hier"
205+
// Jetzt sind die Änderungen auf dem richtigen Branch
206+
```
207+
208+
```json
209+
git checkout name-des-richtigen-branch
210+
// Wähle den letzten Commit vom master
211+
git cherry-pick master
212+
// Und lösche den Commit vom master
213+
git checkout master
214+
git reset HEAD~ --hard
215+
```
216+
217+
---
218+
219+
## git remote
220+
221+
Mit Remote-Repositories arbeiten.
222+
223+
```json
224+
git remote add origin <URL> // fügt den remote origin hinzu
225+
git remote // zeigt den aktuellen remote origin
226+
git remote get-url origin // zeigt die Remote URL
227+
git remote show origin // Zeigt alle Informationen zu einem Remote
228+
git remote -v // Alle Remotes mit URL's anzeigen
229+
git remote rename origin mario // Remote umbenennen
230+
git remote remove <name> // entfernt den remote origin
231+
```
232+
233+
## git clone
234+
235+
Ein Remote-Repository lokal klonen/herunterladen. Gesamte git history von jeder Datei des Projektes wird heruntergeladen - .git Ordner initialisiert. Die aktuellste Arbeitskopie wird automatisch ausgecheckt. Somit kann auch ein Projekt welches Online beschädigt wird wiederhergestellt werden.
236+
237+
```json
238+
git clone <url> // klont das Remote-Repository
239+
git clone <url> <verzeichnis> // Name des Projektverzeichnisses bestimmen
240+
git clone <url> ./ // aktuelles Vereichnis verwenden
241+
242+
git remote -v // Schauen was drin steht nach dem klonen
243+
```
244+
245+
## git push
246+
247+
```json
248+
git push // push mit default Werten
249+
git push -u origin // pushed das lokale Repository ins remote. -u ist der upstream
250+
```
251+
252+
## git fetch
253+
254+
Holt den Stand aus dem Online Repository
255+
256+
```json
257+
git fetch origin // Stand holen
258+
259+
git merge origin/master // merged den lokalen Stand mit dem neuen Stand
260+
git rebase origin/master // Falls lokal Commits vorhanden sind
261+
```
262+
263+
## git pull
264+
265+
Holt den Online-Stand und merged ihn automatisch mit dem lokalen Stand
266+
267+
```json
268+
git pull origin // Holt den Online Stand
269+
git pull origin <Branch> // Holt einen bestimmten Online Branch
270+
```

0 commit comments

Comments
 (0)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy