diff --git a/ÜbungSCM.md b/ÜbungSCM.md deleted file mode 100644 index 0b48954..0000000 --- a/ÜbungSCM.md +++ /dev/null @@ -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 -```