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 |
|||
``` |
Reference in new issue
xxxxxxxxxx