fdai8040
1 year ago
1 changed files with 0 additions and 235 deletions
-
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 |
|
||||
``` |
|
Write
Preview
Loading…
Cancel
Save
Reference in new issue