Browse Source

Update UebungSCM.md

remotes/origin/HEAD
fdai7723 1 year ago
parent
commit
38651f6488
  1. 267
      UebungSCM.md

267
UebungSCM.md

@ -134,7 +134,7 @@
## Staging Area
### 1. Datei auf den Stand in der Stage zurücksetzen
### 1. Datei auf den Stand in der Stage zurücksetzen ("git reset --hard "commit_hash")
> $ git reset --hard 888f5299d207085f201038b048e4e1a99503585f
> HEAD is now at 888f529 SCM
@ -170,17 +170,39 @@
### 7. Datei auf den Stand im commit zurücksetzen
#### Eingabe
> $ git revert HEAD
> [master b4e7271] Revert "SCM"
> 1 file changed, 6 deletions(-)
#### Ausgabe 1
> Revert "SCM"
>
> This reverts commit 4bcb7c56d9dcf9e06223188c52c5d9b6f5a9030d.
>
> # Please enter the commit message for your changes. Lines starting
> # with '#' will be ignored, and an empty message aborts the commit.
> #
> # On branch master
> # Changes to be committed:
> # deleted: SCM.txt
> #
### Ausgabe 2
> $ git revert HEAD
> [master cb6d2d7] Revert "SCM"
> 1 file changed, 4 deletions(-)
> delete mode 100644 SCM.txt
### 8. Status des Repository
> $ git status
> On branch master
> nothing to commit, working tree clean
>
## Branching - Anlegen
### 1. Zeilen zur Datei "SCM.txt" hinzufügen (nano SCM.txt) und die Änderung comitten. Commit-Message : "main1"
@ -264,7 +286,7 @@
> modified: testSCM.txt
>
- alt:
#### alt:
> $ git status
> On branch master
@ -272,6 +294,8 @@
>
### 3. Branch wechseln zu "test1"
> $ git checkout "test1"
@ -284,17 +308,31 @@
## Branching - Zweige Wechseln 2
### 1. Aktuellen Branch auf den Stand des Branches "master" zurücksetzen
> $ git reset --hard "2e0aea7"
> $ git reset "2e0aea7"
>
### 2. Status des Repository anzeigen
#### Neuer Status
> $ git status
> On branch test1
> nothing to commit, working tree clean
> Changes not staged for commit:
> (use "git add <file>..." to update what will be committed)
> (use "git restore <file>..." to discard changes in working directory)
> modified: SCM.txt
> modified: testSCM.txt
>
> no changes added to commit (use "git add" and/or "git commit -a")
#### Alter Status
> $ git status
> On branch master
> Changes to be committed:
> (use "git restore --staged <file>..." to unstage)
> modified: testSCM.txt
### 3. Neue Zeilen in der ersten Datei "SCM.txt" hinzufügen ohne commit
@ -328,6 +366,7 @@ committen oder zur Stash hinzufügen, sonst bricht Git den Versuch, den Branch z
> $ git branch -m "test1" "test3"
## Historie - Anzeigen 1
### 1. Auf Branch "test3" wechseln
@ -387,11 +426,9 @@ committen oder zur Stash hinzufügen, sonst bricht Git den Versuch, den Branch z
>
### 6. Informationen über einen Commit
- Commit-Message und ID werden ausgegeben
### 7. Anzahl der Branches
- 3
### 8. Komplette vereinfachte Historie
@ -407,11 +444,9 @@ committen oder zur Stash hinzufügen, sonst bricht Git den Versuch, den Branch z
>
### 9. Anzahl der Branches in der komplett vereinfachten Historie
- 4
### 10. Wo befindet sich die Markierung HEAD
- HEAD -> test3, test2
### 11. Auf Branch "test2" wechseln
@ -435,6 +470,7 @@ committen oder zur Stash hinzufügen, sonst bricht Git den Versuch, den Branch z
- gleich
## Historie Anzeigen 2
### 1. Wechseln auf Branch "test3"
@ -504,4 +540,213 @@ committen oder zur Stash hinzufügen, sonst bricht Git den Versuch, den Branch z
- HEAD ist jetzt auf "test3", die letzten drei commits wurden ergänzt
## Merging
### 1. Eine Markierung setzen
> $ git tag "tag-test3"
### 2. Branch wechseln auf test2
> $ git checkout "test2"
### 3. Eine Markierung setzen
> $ git tag "tag-test2"
### 4. "test3" in "test2" mergen
> $ git merge test3
> Auto-merging SCM.txt
> CONFLICT (content): Merge conflict in SCM.txt
> Automatic merge failed; fix conflicts and then commit the result.
### 5. Ergebnis in der Datei anzeigen
> ...
> ...
> ...
> <<<<<<< HEAD
> =======
> ...
> ...
### 6. Historie des Repository anzeigen
> $ git log --oneline
> 1bd5765 (HEAD -> test2, tag: tag-test2) test1_2
> 84ff691 test1_1
> 598ccc0 Revert "master3"
> 9706980 master3
> ef10ce0 (master) master3 neue txt-Datei
> 1c67e50 master2
> 83e9caf master1
> cb6d2d7 Revert "SCM"
> 4bcb7c5 SCM
### 7. Branch test2 auf Markierung tag-test2 zurücksetzen
> $ git reset --hard "f68024e"
> HEAD is now at f68024e test1Commit1
### 8. Auf branch "test3" wechseln
> $ git checkout "test3"
### 9. "test2" in "test3" mergen
> $ git merge test2
> Auto-merging SCM.txt
> CONFLICT (content): Merge conflict in SCM.txt
> Automatic merge failed; fix conflicts and then commit the result.
### 10. Repository anzeigen und mit Schritt 3 vergleichen
> $ git log --oneline
> e257d98 (HEAD -> test3) test3_1
> 6675e4e (tag: tag-test3) test1_3
> ef10ce0 (master) master3 neue txt-Datei
> 1c67e50 master2
> 83e9caf master1
> cb6d2d7 Revert "SCM"
> 4bcb7c5 SCM
### 11. Vergleichen ( Die Zeile "=======" wird nicht mehr angezeigt)
> ...
> ...
> ...
> <<<<<<< HEAD
> ...
> ...
## Merging - Konfliktauflösung und Vorbereitung
### 1. Branch "test3" auf die Markierung "tag-test3" zurücksetzen
> $ git reset --hard "tag-test3"
> HEAD is now at 6675e4e test1_3
### 2. Name des Branches an das Ende der zweiten Zeile der ersten Datei hinzufügen und committen
> $ git commit -m "Name vom Branch am Ende der zweiten Zeile"
> [test3 c4141f4] Name vom Branch am Ende der zweiten Zeile
> 1 file changed, 1 insertion(+), 1 deletion(-)
### 3. Für die nächsten 3 Zeilen wiederholen
> $ git commit -m "Name vom Branch am Ende der dritten Zeile"
> $ git commit -m "Name vom Branch am Ende der vierten Zeile"
> $ git commit -m "Name vom Branch am Ende der fuenften Zeile"
### 4. Markierung setzen
> $ git tag "tag-test3-conflict"
### 5. Auf Branch "test2" wechseln
> $ git checkout "test2"
### 6. Namen des Branches am Ende in die sechste Zeile schreiben und committen
> $ git commit -m "Name vom Branch am Ende der sechsten Zeile"
### 7. Für die nächsten 3 Zeilen wiederholen
> $ git commit -m "Name vom Branch am Ende der siebten Zeile"
> $ git commit -m "Name vom Branch am Ende der achten Zeile"
> $ git commit -m "Name vom Branch am Ende der neunten Zeile"
### 8. Markierung setzen
> & git tag "tag-test2-conflict"
## Merging Konfliktauflösung
### 1. Merge von test3 aus starten
> $ git checkout "test3"
> Switched to branch 'test3'
> $ git merge "test2"
### 2. Ausgabe (Merge Conflict)
> $ git merge test2
> Auto-merging SCM.txt
> CONFLICT (content): Merge conflict in SCM.txt
> Automatic merge failed; fix conflicts and then commit the result.
### 3. Aktueller Status des Repository
> $ git status
> On branch test3
> You have unmerged paths.
> (fix conflicts and run "git commit")
> (use "git merge --abort" to abort the merge)
>
> Unmerged paths:
> (use "git add <file>..." to mark resolution)
> both modified: SCM.txt
>
> no changes added to commit (use "git add" and/or "git commit -a")
### 4. Zu entnehmende Infos
- Branches sind nicht gemerged und haben Konflikte
### 5. Merge abbrechen
> $ git merge --abort
### 9. Welche Änderungen stammen aus welchem Branch?
- Zeilen mit "test3" stammen aus dem Branch "test3"
## Merging - Konfliktauflösung 2
### 1. Merge von Branch test2 aus starten
> $ git checkout "test2"
> Switched to branch 'test2'
> $ git merge test3
> Auto-merging SCM.txt
> CONFLICT (content): Merge conflict in SCM.txt
> Automatic merge failed; fix conflicts and then commit the result.
### 2. Inhalt der Datei betrachten
### 3 / 4 / 5 / 6
### 7. Änderungen committen
> $ git commit -m "Zeilen kopiert, Konfliktbereich"
> [test2 7c42bfa] Zeilen kopiert, Konfliktbereich
### 8. Aktuellen Status des Repository anzeigen
> $ git status
> On branch test2
> nothing to commit, working tree clean
### 9. Historie anzeigen
> $ git log --oneline
### 10. test3 auf die Markierung tag-test3 zurücksetzen
> git reset --hard tag-test3
Loading…
Cancel
Save