Browse Source

Delete ÜbungSCM.md

remotes/origin/HEAD fetched-on-2023-11-27
fdai8040 1 year ago
parent
commit
8e4a63b6c4
  1. 235
      ÜbungSCM.md

235
ÜbungSCM.md

@ -1,235 +0,0 @@
### Staging Area
Initialisierung des neuen git Repositorys in einem leeren Verzeichnis.
```
mkdir local_repository
cd local_repository
git init
```
Anlegen einer neuen Text-Datei und einfügen einiger Zeilen Text
```
git add text.txt
nano text.txt
```
Anzeigen des aktuellen Statuses und hinzufügen der Datei zu git Stage
```
git status
git add text.txt
```
Anzeigen des aktuellen Statuses und Änderungen. Hinzufügen weiterer Zeilen Text in bestehende Datei.
```
git status
git diff text.txt
echo "Test" >> text.txt
echo "1" >> text.txt
```
Anzeigen des aktuellen Statuses und erzeugung eines Commits.
```
git status
git add text.txt
git commit -m "1"
```
Die Commit-ID in der Ausgabe ist eine lange Zahl: commit 9a154e0f17b4ad7f... . Anzeigen Änderungen.
```
git log
git diff text.txt
```
---
### Staging Area
Zurücksetzen der Datei auf Stage Stand und Anzeigen aktuellen Status.
```
git restore --staged text.txt
git status
```
Anzeigen Änderungen in der Datei und Entfernung aus Stage ohne Zurücksetzen der Datei.
```
git diff text.txt
git restore --staged text.txt
```
Anzeigen Status und Änderungen. Zurücksetzen auf den Stand im Commit und erneutes anzeigen des Statuses.
```
git status
git diff text.txt
git restore text.txt
git status
```
---
### Branching - Anlegen
```
echo "weitere Zeilen" >> text.txt
git add text.txt
git commit -m "2ersteDatei"
echo "noch weitere Zeilen" >> text.txt
git add text.txt
git commit -m "3ersteDatei"
git init
git add text2.txt
git commit -m "neue Datei"
git branch test1
checkout test1
echo "weitere Zeilen" >> text.txt
git add text.txt
git commit -m "4ersteDatei"
echo "weitere Zeilen" >> text.txt
git add text.txt
git commit -m "5ersteDatei"
git log
echo "weitere Zeilen" >> text2.txt
git add text2.txt
git status
echo "weitere Zeilen" >> text2.txt
git add text2.txt
git commit -m "CommitDatei2"
```
### Branching - Zweige wechseln Nr.1
```
git switch master
git status
git checkout test1
git checkout -b test2
```
### Branching - Zweige wechseln Nr.2
```
git reset master
git status
echo "weitere Zeilen" >> text.txt
git switch test2 (Geht nicht, weil Änderung nicht committet)
git add text.txt (Geht, weil Änderungen in Stage)
git switch -f test2
git branch -m test1 test3
```
### Historie - Anzeigen Nr.1
```
git switch test3
git log (Autor, Datum, Commit-Nachricht, Kennung)
git log -1
git log --oneline
git log --all ("Head" zeigt auf aktuellen Commit)
git switch test2
git log
```
### Historie - Anzeigen Nr.2
```
git switch test3
echo "noch weitere Zeilen" >> text.txt
git add text.txt
git commit -am "1Commitin3"
echo "noch weitere Zeilen" >> text.txt
git add text.txt
git commit -m "2Commitin3"
echo "noch weitere Zeilen" >> text.txt
git add text.txt
git commit -m "3Commitin3"
echo "noch weitere Zeilen" >> text.txt
git add text.txt
git commit -m "4Commitin3"
git log
git log --all
```
### Merging - Konfliktfrei
```
git tag tag-test3
git switch test2
git tag tag-test2
git merge test3
git log --oneline --graph
git reset --hard tag-test2
git switch test3
git merge test2
git log
```
### Merging - Konfliktauflösung/Vorbereitung
```
git reset --hard tag-test3
git add text.txt
git commit -m "Branchname zur zweiten Zeile"
git tag tag-test3-conflict
git switch test2
git tag tag-test2-conflict
```
### Merging - Konfliktauflösung
```
git merge test3
git status
git merge --abort
git merge --no-commit --s recursive -X ours test3
cat text.txt
cp text.txt
git merge --abort
git merge --no-commit --s recursive -X ours test3
diff text.txt text.txt.save
git merge --abort
```
### Rebase - Konfliktfrei Nr.1
```
git checkout test2
git reset --hard tag-test2
git log --all
git rebase test3
git log --all
diff text.txt text.txt.save
```
### Rebase - Konfliktfrei Nr.2
```
git reset --hard tag-test2
git checkout test3
git rebase test2
git log --all
diff text.txt text.txt.save
```
### Rebase - Konfliktauflösung Nr.1
```
git reset --hard tag-test3-conflict
git checkout test2
git reset --hard tag-test2-conflict
git rebase test3
git log --all
```
### Rebase - Konfliktauflösung Nr.2
```
git add text.txt
git rebase --continue
git log -all
git rebase --continue
git log
git rebase --abort
```
|||||||
100:0
Loading…
Cancel
Save