|
|
@ -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 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|